深度学习笔记(4)模型部署和实用
文章目录
一、环境部署
1. 模型加载和预处理
1,flask:
安装:
conda activate 环境名
pip install flask
2.导入常用的库
import io# 二进制数据处理
import json# json数据处理
# 安装所需工具包
import flask# 服务框架
import torch
import torch# pytorch
import torch.nn.functional as F#这行代码的作用是导入 PyTorch 的神经网络(nn)模块中的功能性API,并将其重命名为 F。torch.nn.functional 模块包含了许多在构建和训练神经网络时常用的函数,这些函数通常是无状态的,也就是说它们不需要存储任何状态(比如模型参数)。因此,这些函数可以被用来构建更加复杂的网络结构,比如自定义的损失函数、激活函数等。
from PIL import Image# 图像处理
from torch import nn
from torchvision import transforms as T# 图像处理
from torchvision.models import resnet50# resnet50模型
from torch.autograd import Variable #自动求导
3.初始化flask
# 初始化Flask app
app = flask.Flask(__name__)#初始化一个Flask对象
model = None#模型初始化
use_gpu = True#是否使用gpu,这里默认使用
# 返回结果用的
with open('imagenet_class.txt', 'r') as f:#打开文件,读取文件,举例的文件这里面存的是类别的标签,id和label的对应关系
idx2label = eval(f.read()) #读取文件内容,转换为字典
注意这里遇到两个坑with open('imagenet_class.txt', 'r') as f:
这句代码在 我的系统上会报错FileNotFoundError: [Errno 2] No such file or directory: 'imagenet_class.txt'
于是我改成了绝对路径H:\develop\NLP\Modelinstall\pytorhModel\deploy-pytorch-model-master\imagenet_class.txt 报错SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 10-11: malformed \N character escape
这个错误通常发生在 Python 中处理文件路径时,特别是在字符串字面量中使用了反斜杠(\)字符。在 Python 字符串中,反斜杠用作转义字符,这可能会导致问题,尤其是在 Windows 文件路径中。于是最后我改成了with open('H:/develop/NLP/Modelinstall/pytorhModel/deploy-pytorch-model-master/imagenet_class.txt', 'r') as f:
解决。
# 初始化Flask app
app = flask.Flask(__name__)#初始化一个Flask对象
model = None#模型初始化
use_gpu = True#是否使用gpu,这里默认使用
4.加载模型
(随便找个模型试验 ) resnet50 是预训练模型 这里加载一下。
def load_model()