基于Python深度学习的车辆车牌识别系统(PyTorch2卷积神经网络CNN+OpenCV4实现)视频教程 - 训练模型
基于Python深度学习的车辆车牌识别系统(PyTorch2卷积神经网络CNN+OpenCV4实现)视频教程 - 训练模型
·
大家好,我是java1234_小锋老师,最近写了一套基于Python深度学习的车辆车牌识别系统(PyTorch2卷积神经网络CNN+OpenCV4实现)视频教程,持续更新中,计划月底更新完,感谢支持。
视频在线地址:
https://www.bilibili.com/video/BV1BdUnBLE6N/
课程简介:

本课程采用主流的Python技术栈实现,分两套系统讲解,一套是专门讲PyTorch2卷积神经网络CNN训练模型,识别车牌,当然实现过程中还用到OpenCV实现图像格式转换,裁剪,大小缩放等。另外一套是基于前面Django+Vue通用权限系统基础上,加了车辆识别业务模型,Mysql8数据库,Django后端,Vue前端,后端集成训练好的模型,实现车牌识别。
基于Python深度学习的车辆车牌识别系统(PyTorch2卷积神经网络CNN+OpenCV4实现)视频教程 - 训练模型
前面我们定义好了神经网络和自定义好了数据集,然后我们来训练模型:
# 定义损失函数
criterion = nn.CrossEntropyLoss() # 交叉熵损失函数
optimizer = torch.optim.Adam(cnn_model.parameters(), lr=0.001) # 优化器
def train(epochs):
cnn_model.train() # 训练模式
for epoch in range(epochs):
loss = 0
for image, target in train_loader:
target = Variable(target).reshape(1, )
# 前向传播
output = cnn_model(image)
loss = criterion(output, target) # 计算损失
# 反向传播和优化
optimizer.zero_grad() # 清空梯度
loss.backward() # 反向传播
optimizer.step() # 更新参数
print(f'Epoch [{epoch + 1}/{epochs}], Loss: {loss.item():.4f}')
if __name__ == '__main__':
train_data_dir = './images/cnn_char_train'
train_model_path = 'char.pth'
print('开始训练模型...')
traindataset = CharPicDataset(train_data_dir)
train_loader = data.DataLoader(traindataset, batch_size=1, shuffle=True)
epochs = 3
train(epochs)
torch.save(cnn_model, train_model_path) # 保存模型
运行输出:
开始训练模型...
Epoch [1/3], Loss: 0.0028
Epoch [2/3], Loss: 0.0000
Epoch [3/3], Loss: 0.0000
生成了char.pth模型文件

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)