我正在尝试将sklearn模型对象从服务器端移动到客户端。我是django的新手,所以我很挣扎。
选项一是jsonify所有模型参数,传递它们并用这些参数重建一个新的模型对象。
然而,在我试图简化和学习django时,我一直试图传递一个腌制对象并失败。
我最初尝试过一些简单的事情:
result = pickle.dumps({'test':'test'}, pickle.HIGHEST_PROTOCOL)
return HttpResponse(pkl)
当我从前端API获取它时,如果我做了一个简单的
pickle.loads(api_res)
我收到类型实例错误。当我这样做时:
pickle.loads(api_res.read())
它给了我一个EOF错误。
我知道也有可能只是pickle.dump而不是字符串版本,但是我在使用djangos内容类型等方面遇到了麻烦。我似乎只是在出路时感到胡言乱语。
不幸的结果是,很难找到人们序列化对象并使用django返回它们的实例,因为几乎所有结果都是关于序列化/挑选django对象本身。
任何帮助/链接都将不胜感激。
答案 0 :(得分:1)
pickle.load
。请参阅Arbitrary code execution with Python pickles。
如果您完全确定要执行此操作,请检查您的前端正在执行的操作。也许,它以某种方式改变数据或在一个字段中发送数据。另外,请检查api_res
实例的课程文档。