首页 > 其他分享 >12/26每日总结

12/26每日总结

时间:2023-12-26 22:33:46浏览次数:29  
标签:总结 26 12 self labels ds train inf image

数据处理

sorted(set())-->set的意思是将其提取成随机不重复序列,用于提取较多label时使用

leave_labels = sorted(set(train_data['label']))

zip 将两个长度相同的可迭代对象一一对应返回元组 dict将元组打包成字典

class_to_num = dict(zip(leaves_labels, range(n_classes)))

最后反向将num转化成类别

num_to_class = {v : k for k, v in class_to_num.items()}

这是一次示例,是处理叶子的图片的,此时叶子图片的大小不同,以jpg文件形式存储在文件夹中

import os
 from torch.utils.data import DataLoader,Dataset
 class MyDataSet(Dataset):
     def __init__(self,mode,transforms):
         self.transform = transforms
         self.image_base_path = r'C:\Users\86186\Desktop\classify-leaves'
         label = pd.read_csv(r'C:\Users\86186\Desktop\classify-leaves\train.csv')
         inf = label.to_numpy().tolist()
         # 将inf中第二列的所有类别转换成数字
         leaves_labels = sorted(set(labels_dataframe['label']))
         n_classes = len(leaves_labels)
         class2num = dict(zip(leaves_labels,range(n_classes)))
         for i in inf:
             i[1] = class2num[i[1]]
         # 划分数据集
         if mode == 'train':
             self.inf = inf[:20000]
         else:
             self.inf = inf[20000:]
     def __len__(self):
         return len(self.inf)
     def __getitem__(self, index):
         ds_labels = self.inf[index][1]
         ds_img = self.inf[index][0]
         ds_img = os.path.join(self.image_base_path,ds_img)
         ds_image = Image.open(ds_img).convert('RGB')
         ds_image = self.transform(ds_image)
         return ds_image,ds_labels
 transorform = torchvision.transforms.Compose([torchvision.transforms.ToTensor(),torchvision.transforms.Resize((244,244)),torchvision.transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))])
 train_dataset = MyDataSet('train',transorform)
 train_data_loader = DataLoader(train_dataset,shuffle=True,batch_size=64)
 train_iter = iter(train_data_loader)
 image,label = train_iter.__next__()
 def image_show(img):
     img = img.numpy()
     plt.imshow(np.transpose(img,(1,2,0)))
 image_show(torchvision.utils.make_grid(image))

dataloader使用是最后有一个参数droplast,在batchsize不是1时使用,以便所有输入都相同


标签:总结,26,12,self,labels,ds,train,inf,image
From: https://blog.51cto.com/u_16196891/8988270

相关文章

  • 【2023.12.25】考研终记
    记录一下考研这两天的事情吧考前一天上午的时候早班,同事替我完成了操作下午的时候做盖章审批忙了两小时,三点多才忙完了事情准备提前去考场看看,和同事们说了下准备出门我也是第一次要翘班,同事们给了我很多鼓励,和我说先走吧没关系打印了准考证,领导看了看我的准考证,拍拍我鼓励......
  • 我的2023年总结
    2023年,北京的冬天特别寒冷,雪下的好大好大,持续的时间还特别特别的长。极端的低温,长时间的降雪甚至引发了地铁线路的追尾,个人感觉这在北京地铁交通历史上,应该是第一次。远在欧洲的俄乌冲突已经不是人们谈论的焦点,因为滴滴前所未见的故障而打不上车才是迫切需要关心和解决的事情。不......
  • 金蝶云表单【表单插件】---物料新增按钮点击自动获取老系统中对应的物料信息20231226
    金蝶云需求:1、物料新增时,通过快捷方式自动获取老系统K3Wise中对应物料的相关信息;2、具体相关对应物料字段项信息,由存储过程:execpro_lyh_get_oldsystemwlxx'002'来查询结果;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSyste......
  • 12.26
    想你了今天早上面到了5k......
  • [ABC267F] Exactly K Steps 题解
    [ABC267F]ExactlyKSteps题解思路首先发现,如果对于查询\((u,k),k>0\)可行,那么对于\((u,k-1)\)也一定可行,因为往回走一步就可以了,所以对于一个点可以找到离它最远的点,根据直径的结论,这个点一定是直径的端点之一。为了方便做,以直径的端点之一为根,然后写一个K级祖......
  • Python基础知识总结
    ​Python是一种广泛使用的高级编程语言,以其易于学习和强大的功能而闻名。以下是Python基础知识的总结:基本概念:解释型语言:Python是一种解释型语言,这意味着代码在运行时被解释执行,而不是先编译成机器码。动态类型:在Python中,变量在运行时自动确定类型,无需显式声明。参考文档:P......
  • 12.26《程序员的修炼之道》的第二章解读
    第二章的题目是《注重实效的方法》,该章节又分为七小节,每一小节都有一个原则,节节相扣,步步深入,为我们深入的介绍了一些注重实效的方法,我们只要在编程过程中记住这些基本原则,我们就能编写出更快、更好、更强健的代码,甚至可以让这些看起来很容易。  (7)第二章中的第七小节,为我们讲......
  • 闲话12.26
    咋今天啥也没干。早上来机房上早读啦......
  • [20231226]vim Align插件使用例子.txt
    [20231226]vimAlign插件使用例子.txt--//有时候看别人的blog如果遇到执行计划如下,我会使用vim的Align插件做一些处理,好久不用有点生疏,做一个记录:--//假设拷贝和粘贴的执行计划如下:---------------------------------------------------------------------------------------......
  • 每日总结12.26
    今天完成了软件构造的大作业任务一:基于Jfinal构建信息管理系统,要求包含用户管理,翻译业务模块管理,图片优化模块管理用户管理: 翻译业务模块管理: 图片优化管理:任务二:要求不同用户登录后可进行文字翻译和图片优化业务处理,并且可查看提交业务处理结果,时间,处理列表,图形汇总等......