tensorflow利用vgg19网络做猫狗识别的迁移学习.docx
《tensorflow利用vgg19网络做猫狗识别的迁移学习.docx》由会员分享,可在线阅读,更多相关《tensorflow利用vgg19网络做猫狗识别的迁移学习.docx(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、tensorflow利用vgg19网络做猫狗识别的迁移学习这是本人的第一次boke写的不好请见谅哈。博主大二小菜鸟一个欢送指教以及私信。楼主学习tensorflow也有一段时间了最近尝试了一下用vgg19网络做迁移学习。vgg构造如下:首先下载vgg19网络的mat文件然后对数据进展预处理这里博主借用了别人的处理方法处理好的数据直接送到了我们预先展开的vgg网络中注意这里权重是constant直接把别人训练好的权重拿来初始化然后最后改一下全连接层。直接贴代码#迁移学习猫狗识别importscipy.miscimportscipy.ioasscioimporttensorflowastfimpo
2、rtosimportnumpyasnpimportsysdefget_files(file_dir):catslabel_catsdogslabel_dogsforfileinos.listdir(file_dir):namefile.split(sep.)ifcatinname0:cats.append(file_dirfile)label_cats.append(0)else:ifdoginname0:dogs.append(file_dirfile)label_dogs.append(1)image_listnp.hstack(cats,dogs)label_listnp.hstack(
3、label_cats,label_dogs)#print(Thereare%dcatsnThereare%ddogs%(len(cats),len(dogs)#多个种类分别的时候需要把多个种类放在一起打乱顺序,这里不需要#把标签以及图片都放倒一个temp中然后打乱顺序然后取出来tempnp.array(image_list,label_list)temptemp.transpose()#打乱顺序np.random.shuffle(temp)#取出第一个元素作为image第二个元素作为labelimage_listlist(temp:,0)label_listlist(temp:,1)label
4、_listint(i)foriinlabel_listreturnimage_list,label_list#测试get_files#imgs,labelget_files(/Users/yangyibo/GitWork/pythonLean/AI/猫狗识别/testImg/)#foriinimgs:#print(img:,i)#foriinlabel:#print(label:,i)#测试get_filesend#image_W,image_H指定图片大小batch_size每批读取的个数capacity队列中最多包容元素的个数defget_batch(image,label,image_W
5、,image_H,batch_size,capacity):#转换数据为ts能识别的格式imagetf.cast(image,tf.string)labeltf.cast(label,tf.int32)#将image以及label放倒队列里input_queuetf.train.slice_input_producer(image,label)labelinput_queue1#读取图片的全部信息image_contentstf.read_file(input_queue0)#把图片解码channels3为彩色图片,rgb黑白图片为1可以以理解为图片的厚度imagetf.image.decod
6、e_jpeg(image_contents,channels3)#将图片以图片中心进展裁剪或扩大为指定的image_Wimage_Himagetf.image.resize_image_with_crop_or_pad(image,image_W,image_H)#对数据进展标准化,标准化就是减去它的均值除以他的方差imagetf.image.per_image_standardization(image)#生成批次num_threads有多少个线程根据电脑配置设置capacity队列中最多包容图片的个数tf.train.shuffle_batch打乱顺序image_batch,label_b
7、atchtf.train.batch(image,label,batch_sizebatch_size,num_threads64,capacitycapacity)#重新定义下label_batch的形状label_batchtf.reshape(label_batch,batch_size)#转化图片image_batchtf.cast(image_batch,tf.float32)returnimage_batch,label_batchdef_conv_layer(input,weights,bias):convtf.nn.conv2d(input,tf.constant(weight
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tensorflow 利用 vgg19 网络 做猫狗 识别 迁移 学习
限制150内