首页 > 分享 > Pytorch resnet花朵识别(5种花)附完整代码

Pytorch resnet花朵识别(5种花)附完整代码

notebook运行结果图:
在这里插入图片描述

随机从各种花的图片集中抽取一定数量的图片
因为设备限制,用所有的图片,图片太多
如果用cpu跑太慢了
用gpu太多图片会out of memory
所以用小部分图片,了解方法就好了
在这里插入图片描述
在这里插入图片描述
重写dataset类
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

显示图片
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

设置resnet的参数
因为用的损失函数是NLL,所以网络最后要接一个logsoftmax
在这里插入图片描述
损失函数、优化器,训练函数
在这里插入图片描述
计算正确率函数
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
测试集正确率不高,可以增大数据集
增加训练次数

在这里插入图片描述
在这里插入图片描述
源代码:

# 要添加一个新单元,输入 '# %%' # 要添加一个新的标记单元,输入 '# %% [markdown]' # %% from IPython import get_ipython # %% # -*- coding: utf-8 -*- get_ipython().run_line_magic('matplotlib', 'inline') import os data_path='flowers' flower_type=os.listdir(data_path) print(flower_type) # %% import matplotlib.pyplot as plt from matplotlib import style import seaborn as sns style.use('fivethirtyeight') sns.set(style='whitegrid',color_codes=True) import numpy as np import torch import torch.nn as nn import torch.optim as optim from torchvision import transforms,models from torch.utils.data import Dataset,DataLoader from pprint import pprint import random from sklearn.preprocessing import OneHotEncoder,LabelEncoder from sklearn.model_selection import train_test_split from PIL import Image from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = True from tqdm.notebook import tqdm from tqdm.notebook import trange import warnings warnings.filterwarnings('ignore') # %% path_daisy=data_path+'/daisy' path_dandelion=data_path+'/dandelion' path_rose=data_path+'/rose' path_sunflower=data_path+'/sunflower' path_tulip=data_path+'/tulip' # %% def ImgPath(path): img_path=[] for img in os.listdir(path): img_path.append(os.path.join(path,img)) return img_path # %% flower_daisy=ImgPath(path_daisy) flower_dandelion=ImgPath(path_dandelion) flower_rose=ImgPath(path_rose) flower_sunflower=ImgPath(path_sunflower) flower_tulip=ImgPath(path_tulip) flower_daisy=random.sample(flower_daisy,200) flower_dandelion=random.sample(flower_dandelion,200) flower_rose=random.sample(flower_rose,200) flower_sunflower=random.sample(flower_sunflower,200) flower_tulip=random.sample(flower_tulip,200) # %% flower_type=np.array

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

相关知识

Pytorch resnet花朵识别(5种花)附完整代码
基于深度学习和迁移学习的识花实践
(四)pytorch图像识别实战之用resnet18实现花朵分类(代码+详细注解)
Pytorch框架实战——102类花卉分类
基于深度学习的花卉识别(附数据与代码)
pytorch深度学习框架——实现病虫害图像分类
基于Pytorch的花卉识别
【基于PyTorch实现经典网络架构的花卉图像分类模型】
基于python编程的五种鲜花识别
0020期python训练鲜花识别

网址: Pytorch resnet花朵识别(5种花)附完整代码 https://m.huajiangbk.com/newsview212860.html

所属分类:花卉
上一篇: 毕业设计项目 深度学习花卉识别
下一篇: 周末·新知丨听说,你也分不清这些