在利用flask框架传输pytorch模型时,由于模型参数过于庞大,采用序列化-反序列化的形式进行传输会有着极大的时间开销,如序列化一个ResNet-18模型会花费近10s的时间。而以文件形式发送,发送模型的相关信息会变得较为麻烦,因此借助Python的pickle模块直接将Python字典转换为字节流进行发送。
向flask接口发送pytorch模型
import pickle
def send_model():
net = torch.load("model_path")
send_data = {
"net":net,
"model_name":name
"model_size":size
}
send_data = pickle.dumps(send_data)
url = "http://{:s}:{:s}/server/test_url".format(
SERVER_IP,SERVER_PORT)
requests.post(url=url,data=send_data)
lxcwuwang365@163.com
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!