深度学习day3

查看引用的类中的函数的作用:

1)jupyter notebook 中使用help()查看  或  函数名??
2)在pycharm中鼠标放在此函数上按 ctrl+b  或   ctrl+鼠标点击

引用数据集图片:

将文件放置于此环境的文件夹下--选择引用的照片ctrl+shift+c
复制的路径中要用 \\

打开输入图片并查看数据:

from PIL import Image

img_path="D:\\pycharm_project\\project1\\xiaotudui1\\dataset\\train\\ants\\0013035.jpg"

img=Image.open(img_path)
img.size
/Out[5]: (768, 512)

img.show(img_path)

导入文件夹下的所以图片:
 

dir_path="dataset/train/ants"

import os

dir_path="dataset/train/ants"

img_path_list=os.listdir(dir_path)

分别导入两个文件夹:(用大文件路径+小文件路径)
 

import os

root_dir="dataset/train"

label_dir="ant"

path=os.path.join(root_dir,label_dir)

完整试例:

from torch.utils.data import Dataset
from PIL import Image
import os

class MyData(Dataset):

    def __init__(self,root_dir,label_dir):
        self.root_dir=root_dir
        self.label_dir=label_dir
        self.path=os.path.join(self.root_dir,self.label_dir)
        self.img_path=os.listdir(self.path)

    def __getitem__(self, idx):
        img_name=self.img_path[idx]
        img_item_path=os.path.join(self.root_dir,self.label_dir,img_name)
        img=Image.open(img_item_path)
        label=self.label_dir
        return img,label

    def __len__(self):
        return len(self.img_path)


root_dir="dataset/train"
ants_label_dir="ants"
bees_label_dir="bees"
ants_dataset=MyData(root_dir,ants_label_dir)
bees_dataset=MyData(root_dir,bees_label_dir)     #train_dataset = ants_dataset + bees_dataset

img,label=ants_dataset[3]
img.show()

将标签名写入另外一个txt文件中:

import os

root_dir = "dataset/train1"
target_dir = "ants_image"
path = os.path.join(root_dir,target_dir)
img_path = os.listdir(path)
label = target_dir.split('_')[0]   #这行代码使用split('_')方法将target_dir字符串以'_'为
                                   # 分隔符分割成一个列表,然后取这个列表的第一个元素
                                   # (索引为0的元素)作为标签名,并将其赋值给label。这里假
                                   #设target_dir的格式为类别名_描述,如"ants_image",则
                                   #label将被赋值为"ants"。
out_dir = "ants_label"
for i in img_path:
    file_name = i.split('.jpg')[0]  #在循环体内,这行代码将当前文件名(i)以'.jpg'为分隔
                                    # 符分割,并取分割后的第一个元素(即去掉文件扩展名后的
                                    #文件名),然后将其赋值给file_name。
    with open(os.path.join(root_dir,out_dir,"{}.txt".format(file_name)),'w')as f:
                                    #s.path.join函数用于将多个路径组件合并成一个路径,这
                                    #里它将root_dir(根目录)、out_dir(输出目录名)和
                                    #通过格式化字符串生成的文件名(扩展名为.txt)合并成一
                                    #个完整的文件路径
        f.write(label)

加入文件后缀名:
 

file_name = "example"  
new_file_name = "{}.txt".format(file_name)  
print(new_file_name)

#输出结果
example.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值