一.Dataset
新建py文件
from torch.utils.data import Dataset
可以按住”Ctrl“,鼠标左键点击Dataset,可以打开Dataset的定义及其内部函数
二.编写
引用cv2模块
终端运行
pip install opencv-python
然后就可以引用cv2模块
import cv2
引用Image
from PIL import Image
数据集链接
https://pan.baidu.com/s/1jZoTmoFzaTLWh4lKBHVbEA 密码: 5suq
下载解压后,复制一份到项目文件夹里
改名为dataset
在Pycharm里面右键点击.jpg文件,复制文件路径
python中 “\0”和 “\a”
表示特殊字符的转义序列,因此我们用“\\”进行代替“\”
img_path="W:\Projects\Pytorch01\torch_learn01\dataset\train\ants\0013035.jpg"
修改后
img_path="W:\\Projects\\Pytorch01\\torch_learn01\\dataset\\train\\ants\\0013035.jpg"
在控制台可以看到图片的属性0000000000000000000000000
img=Image.open(img_path)
img.size
打开图片
img.show()
获取所有图片的地址,需要“os”这个模块
import os
将传入的参数值赋给类的实例变量,使得这两个变量可以在类的其他方法中被访问。
self.root_dir=root_dir self.label_dir=label_dir
控制台测试的内容
root_dir="dataset/train"
label_dir="ants"
path=os.path.join(root_dir,label_dir)
img_path=os.listdir(path)img_name=img_path[idx]
img_item_path=os.path.join(path,img_name)
os.listdir将图片名称组织成一个列表
可以使用索引来获取列表中图片的名称
获取到图片名称,可以获取相对路径
安装ipython
pip install ipython
图片名保存为txt文件
import ostrain_dataset="dataset/train" # target_dir="ants_image" target_dir="bees_image" image_path=os.listdir(os.path.join(train_dataset,target_dir)) label=target_dir.split("_")[0] out_dir="bees_label" for i in image_path:file_name=i.split('.jpg')[0]with open(os.path.join(train_dataset,out_dir,f"{file_name}.txt"),'w') as f:f.write(label) print("ooo")
参考
【PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】】 https://www.bilibili.com/video/BV1hE411t7RN/?p=6&share_source=copy_web&vd_source=be33b1553b08cc7b94afdd6c8a50dc5a