下凯斯西储大学数据集的创建
.03.22
自己设计的GAN算法啥用都没有,生成的是一堆垃圾,心情很沉重,将近一个月的努力白费了。。。不过要是这么容易就搞一个比较大的创新出来,那么人人都能去当院士了。今天等会还得出去吃晚饭,还是明天再和导师说了,免得影响心情。在上一篇推文中完成了灰度图的转换,随后按每一类张分好,放在文件夹里面,这一篇的主要内容就是创建TensorFlow里面神经网络可用的数据集了。我们要创建自己的数据集,首先需要把数据提取出来,然后打上标签,我还是比较菜,打标签这个功能我主要是依靠提取文件名实现的,这就是之前为什么要按类别建立文件夹了,下面是创建数据集的函数,主要用csv.writer()和csv.reader()函数,把图片的文件路径和打好的标签对应存在一个csv文件中,然后在按列读取,为之后read_image()函数做好准备。数据集代码:defload_csv(root,filename,ratio):name2label={}#编码表字典,"sq...":0file=os.listdir(root)fornameinfile:ifnotos.path.isdir(os.path.join(root,name)):#os.path.isdir()用于判断对象是否为一个目录(文件夹)continuename2label[name]=len(name2label.keys())images=[]fornameinname2label.keys():images+=glob.glob(os.path.join(root,name,*.jpg))[0:int(*ratio)]random.shuffle(images)withopen(os.path.join(root,filename),mode=w,newline=)asf:writer=csv.writer(f)forimginimages:name=img.split(os.sep)[-2]#-2为读取上一级目录的名称,即为读取标签名label=name2label[name]writer.writerow([img,label])print(writtenintocsvfile:,filename)images,labels=[],[]withopen(os.path.join(root,filename))asf:reader=csv.reader(f)forrowinreader:img,label=rowlabel=int(label)images.append(img)labels.append(label)returnimages,labels打好数据集之后就用经典卷积神经网络测试一下分类的效果:分类的效果还行,不过整体的代码太多了,影响阅读效果,好像放链接也放不上来,这里就不放了,测试了一下,发现后面的阅读原文是可以跳转到CSDN的。预览时标签不可点收录于话题#个上一篇下一篇