1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

pytorch深度神经元网络新手入门提前准备自己拍的照片数据信息

pytorch深度神经元网络新手入门

本文旨在介绍如何准备自己的照片数据信息实例,并利用pytorch深度神经元网络进行训练。

pytorch深度神经元网络新手入门提前准备自己拍的照片数据信息

图片数据的准备工作

图片数据主要有两种状况:

  1. 全部图片放到一个文件夹内,此外有个txt文件表明标识。
  2. 不同类型照片放到不同类型的文件夹内,文件夹便是图形的类型。

对于这两个不同的状况,数据的准备工作也有所不同,第一类状况可以定制一个Dataset,第二类状况可以调用torchvision.datasets.ImageFolder去处理。

全部图片放到一个文件夹内

以mnist数据的10000个test为例,先将test集的10000个图片保存出来,并生成相应的标签txt文档。然后构建一个空文件夹mnist_test,用以储存10000张照片,并运行代码:

  
import torch
import torchvision
import matplotlib.pyplot as plt
from skimage import io

mnist_test=torchvision.datasets.MNIST('./mnist',train=False,download=True)
print('test set:',len(mnist_test))

f=open('mnist_test.txt','w')
for i,(img,label)in enumerate(mnist_test):
    img_path="./mnist_test/"+str(i)+".jpg"
    io.imsave(img_path,img)
    f.write(img_path+''+str(label)+'n')
f.close()
  

10000张图片就保存在mnist_test文件夹里了,并在当前目录下生成了一个mnist_test.txt的文件。

不同类别的图片放在不同的文件夹内

以flowers数据集为例,共有五类照片,分别放在5个文件夹下。准备好数据后,直接利用torchvision里面的ImageFolder调用,代码如下:

  
import torch
import torchvision
from torchvision import transforms,utils
import matplotlib.pyplot as plt

img_data=torchvision.datasets.ImageFolder('D:/bnu/database/flower',
transform=transforms.Compose([
    transforms.Scale(256),
    transforms.CenterCrop(224),
    transforms.ToTensor()])
)

print(len(img_data))
data_loader=torch.utils.data.DataLoader(img_data,batch_size=20,shuffle=True)
print(len(data_loader))

def show_batch(imgs):
    grid=utils.make_grid(imgs,nrow=5)
    plt.imshow(grid.numpy().transpose((1,2,0)))
    plt.title('Batch from dataloader')
  
for i,(batch_x,batch_y)in enumerate(data_loader):
    if(i<4):
        print(i,batch_x.size(),batch_y.size())
    show_batch(batch_x)
    plt.axis('off')
    plt.show()
  

以上就是准备照片数据的过程,接下来就可以利用pytorch深度神经元网络进行训练了。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6894.html