Python 我们可以从外部url加载.pkl文件吗?
我有一个312MB的pkl文件。我想将其存储到外部服务器(S3)或文件存储服务(例如,Google Drive、Dropbox或任何其他)。当我运行模型时,应该从该外部url加载pkl文件。 我已经退房了,但无法让它工作 代码:Python 我们可以从外部url加载.pkl文件吗?,python,pickle,Python,Pickle,我有一个312MB的pkl文件。我想将其存储到外部服务器(S3)或文件存储服务(例如,Google Drive、Dropbox或任何其他)。当我运行模型时,应该从该外部url加载pkl文件。 我已经退房了,但无法让它工作 代码: import urllib import pickle Nu_SVC_classifier = pickle.load(urllib.request.urlopen("https://drive.google.com/open?id=1M7Dt7CpEOtjWdHv_
import urllib
import pickle
Nu_SVC_classifier = pickle.load(urllib.request.urlopen("https://drive.google.com/open?id=1M7Dt7CpEOtjWdHv_wLNZdkHw5Fxn83vW","rb"))
错误:
TypeError:POST数据应为字节、字节的iterable或文件对象。它不能是str类型
urllib.request.urlopen
的第二个参数是post数据,而不是不需要的文件模式
import urllib.request
import pickle
Nu_SVC_classifier = pickle.load(urllib.request.urlopen("https://drive.google.com/open?id=1M7Dt7CpEOtjWdHv_wLNZdkHw5Fxn83vW"))
试试joblib而不是pickle,它对我有用
from urllib.request import urlopen
from sklearn.externals import joblib
Nu_SVC_classifier = joblib.load(urlopen("https://drive.google.com/open?id=1M7Dt7CpEOtjWdHv_wLNZdkHw5Fxn83vW"))
它会导致另一个错误:UnpicklingError:invalid load key,“@nilanshbansal:One,我们无法知道您的坏数据是什么。第二,完全重写你的问题会使现有的答案无效;不要重写一个有效提问和回答的问题。如果需要,可以问一个新问题(但请确保其中包含一个;我们无法从心理上预测您试图加载的数据)。@ShadowRanger我自己对答案投了更高的票,因为答案很好,但我的问题尚未解决,我为编辑此问题道歉。pickle文件是绝对正确的,本地加载时相同的文件不会产生错误,因此从驱动器加载时肯定会出现一些错误。在(正确)回答问题后,请不要将问题作为一个全新的问题重写。如果有必要,可以问一个新问题,但不要通过完全询问其他问题来否定好的、有用的答案。我很抱歉@ShadowRanger编辑了这个答案,我对社区还是新手,我编辑了这个答案,这样新的答案就可以看到更新的版本,而不会涉及Daniel已经解决的错误。我的问题是如何从url成功加载pickle文件,其中包括。pickle文件应该由pickle.load模块加载。