猫狗分类Tensorflow实现jujua

数据集准备kaggle猫狗大战数据集(训练),微软的不需要FQ

生成图片路径和标签的List

step1:获取D:/Study/Python/Projects/Cats_vs_Dogs/data/Cat下所有的猫图路径名,存放到cats中,同时贴上标签0,存放到label_cats中。狗图同理。

train_dir='D:/Study/Python/Projects/Cats_vs_Dogs/data'defget_files(file_dir):forfileinos.listdir(file_dir+'/Cat'):cats.append(file_dir+'/Cat'+'/'+file)label_cats.append(0)forfileinos.listdir(file_dir+'/Dog'):dogs.append(file_dir+'/Dog'+'/'+file)label_dogs.append(1)step2:对生成的图片路径和标签List做打乱处理

#把cat和dog合起来组成一个list(img和lab)image_list=np.hstack((cats,dogs))label_list=np.hstack((label_cats,label_dogs))#利用shuffle打乱顺序temp=np.array([image_list,label_list])temp=temp.transpose()np.random.shuffle(temp)#从打乱的temp中再取出list(img和lab)image_list=list(temp[:,0])label_list=list(temp[:,1])label_list=[int(i)foriinlabel_list]生成Batch

step1:将上面生成的List传入get_batch(),转换类型,产生一个输入队列queue,因为img和lab是分开的,所以使用tf.train.slice_input_producer(),然后用tf.read_file()从队列中读取图像

defget_batch(image,label,image_W,image_H,batch_size,capacity):#转换类型image=tf.cast(image,tf.string)label=tf.cast(label,tf.int32)#makeaninputqueueinput_queue=tf.train.slice_input_producer([image,label])label=input_queue[1]image_contents=tf.read_file(input_queue[0])#readimgfromaqueuestep2:将图像解码,不同类型的图像不能混在一起,要么只用jpeg,要么只用png等。

image=tf.image.decode_jpeg(image_contents,channels=3)step3:数据预处理,对图像进行旋转、缩放、裁剪、归一化等操作,让计算出的模型更健壮。

image=tf.image.resize_image_with_crop_or_pad(image,image_W,image_H)image=tf.image.per_image_standardization(image)4:生成batchimage_batch:4Dtensor[batch_size,width,height,3],dtype=tf.float32label_batch:1Dtensor[batch_size],dtype=tf.int32image_batch,label_batch=tf.train.batch([image,label],batch_size=batch_size,num_threads=32,capacity=capacity)#重新排列label,行数为[batch_size]label_batch=tf.reshape(label_batch,[batch_size])image_batch=tf.cast(image_batch,tf.float32)测试

step1:变量初始化,每批2张图,尺寸208x208,设置好自己的图像路径

BATCH_SIZE=2CAPACITY=256IMG_W=208IMG_H=208train_dir='D:/Study/Python/Projects/Cats_vs_Dogs/data'step2:调用前面的两个函数,生成batch

image_list,label_list=get_files(train_dir)image_batch,label_batch=get_batch(image_list,label_list,IMG_W,IMG_H,BATCH_SIZE,CAPACITY)step3:开启会话session,利用tf.train.Coordinator()和tf.train.start_queue_runners(coord=coord)来监控队列(这里有个问题:官网的start_queue_runners()是有两个参数的,sess和coord,但是在这里加上sess的话会报错)。利用try——except——finally结构来执行队列操作(官网推荐的方法),避免程序卡死什么的。i<2执行两次队列操作,每一次取出2张图放进batch里面,然后imshow出来看看效果。

withtf.Session()assess:i=0coord=tf.train.Coordinator()threads=tf.train.start_queue_runners(coord=coord)try:whilenotcoord.should_stop()andi<2:img,label=sess.run([image_batch,label_batch])#justtestonebatchforjinnp.arange(BATCH_SIZE):print('label:%d'%label[j])plt.imshow(img[j,:,:,:])plt.show()i+=1excepttf.errors.OutOfRangeError:print('done!')finally:coord.request_stop()coord.join(threads)step4:查看结果,会出现4张图,resize的效果感觉不是很好,不知道是什么问题2017.7.10图片不正常是因为生成batch的时候将image转成了浮点型,吧image_batch=tf.cast(image_batch,tf.float32)注释掉后就好了

THE END
1.价值20万的大猫长啥样?博美为何讨厌小香猪?魔都这家宠咖让你一次...最近魔都新开了一家宠咖,要说有什么特色,就是让你一次撸遍猫狗猪鸭! 对于萌宠毫无抵抗力的周到君,最近就冒着大雨去打卡了。 缅因、英短、英长、金吉拉、加菲、贵宾、柴犬、博美、吉娃娃、西高地、小香猪……周到君都撸到了!但,说好的柯达鸭呢?店员告知:孵蛋去了。 https://static.zhoudaosh.com/4FAE3F0781D60270A69E27A99D8FE92E0EE6B8404F2F58DB2020E65D17F94D64
2.被猫狗抓伤是图片中这个样子吗?快速问医生病情分析:这个无法判断是否是抓伤的情况,清淡饮食,忌辛辣刺激食物和烟酒,碘伏消毒处理伤口,避免反复...https://m.120ask.com/askg/bd_detail/92912912
3.汤姆和杰瑞里的狗叫啥–快看漫画问答你算什么小点心汤姆和杰瑞里的狗叫斯派克。 斯派克(Spike)是美国动画片《猫和老鼠》及其衍生作品中的配角,是一只凶猛的斗牛犬,在番外篇《斯派克和泰克》中为主要角色。绝大多数剧集中斯派克为灰白色,戴着一个红色项圈。在《新猫和老鼠》中,斯派克的颜色为棕灰色。斯派克是一只凶猛的斗牛犬,汤姆总是招惹他(不管是...https://m.kuaikanmanhua.com/qa/107849
4.狗狗猫咪系列白色背景上的狗狗猫咪图片高清图片图片素材宠物,是为了玩赏、伴侣,而饲养的动物。一般是指人为了消除孤寂或娱乐,其中猫、狗、兔、鼠、鸟和鱼最为常见。https://www.52112.com/atlas/11080_1.html
5.月山镇人民政府猫狗就是人类的好帮手、好朋友 狩猎、看家护院等样样精通... 而随着经济社会发展和人民生活水平提高 城市居民精神文化生活日益丰富 养猫、养狗的人越来越多 相信《条例》在文明养犬方面 做出相应规定后 能够规范一些不文明的养犬行为 人与驯养动物的关系更加和谐 据了解...http://www.kaiping.gov.cn/yszrmzf/zwgk/zwdt/content/post_2328992.html
1.猫咪和狗狗的图片搞笑可爱我们彼此相爱就是为民除害猫咪和狗狗的图片搞笑可爱 我们彼此相爱就是为民除害 导读:卸掉自己所有的伪装,去做最真实的自己,不要在意别人的眼光,毕竟每个人的喜好都不是一样的。 这个世界上有很多事情是没有结果的,所以当你决定去做一件事情的时候,就不要想着什么结果不结果的,想要做的事情只要努力去做就好了。https://www.qqtn.com/wenda/253006_1.html
2.几岁大的毛孩,其实已经活了半辈子……有些品种的猫狗相对更长寿养猫养狗的人越来越多了,大家现在看到不同的宠物大多也都知道它是什么品种,但你知道吗,不同品种的猫狗寿命也不一样,而且差别还挺大的。 本月初的一项研究显示,在英国的宠物猫中,缅甸猫和伯曼猫出生时的预期寿命最长,分别为14.42岁和14.39岁,而斯芬克斯猫(无毛猫)出生时的预期寿命最短——仅为6.68年。 https://user.guancha.cn/wap/content?id=1242026&comments-container
3.最简单的深度学习猫狗分类代码猫狗分类pytorch三:预测(随便取一张猫狗图片可以识别出来是cat还是dog) 四:升级版预测 一级目录 猫狗二分类这个真是困扰我好几天,找了好多资料都是以TensorFlow的猫狗分类,但我们要求的是以pytorch的猫狗分类。刚开始我找到了也运行成功了觉得可以了,最后看了一眼实践要求傻眼了,老师要pytorch,我却弄了TensorFlow,主要是当时不...https://blog.51cto.com/u_16099352/9829610
4.一年级数学上册《动物乐园》教案(精选10篇)(3)同学们看这几个字哪儿一样?(都是反犬旁) 在动物乐园里,有好多四条腿的动物朋友的名字带有反犬旁,你还知道哪些字还是反犬旁的?(猪、猫、狗、狼、狈等) (板书“猪、猫、狗”) (4)你知道这些字是什么字吗?(形声字)说说你的.理由?(反犬旁表示字义, ...http://mip.yuwenmi.com/jiaoan/yinianji/463437.html
5.狗和猫的牙齿特征猫的形态特征猫与狗有什么不同的特征? 猫和狗的最大区别是狗对主人忠诚依赖,而猫更喜欢孤独,其实这并不完全正确,猫同样需要主人给予关爱且绝不会比一只小狗的要求少。而大量的实验证明,每天和主人相处时间越长的猫咪,无论身体还是心理的健康程度都比得不到陪伴的猫咪有非常大的提高。 http://m.boqii.com/article/219056.html?ivk_sa=1024320u
6.南都记者调查网络新兴的“云养猫狗”,到底是什么情况?想养一只宠物却无闲暇精力?针对都市人这一“刚需”,网上发明了一种“云养”的模式。所谓“云养”,一般是在网上看看宠物日常的图片或视频,权当“精神食粮”。有人看到了“云养”的商机,推出“云吸猫”“云养狗”的服务,倒还真吸引到不少人购买。 https://static.nfapp.southcn.com/content/201901/16/c1854352.html
7.爱猫还是爱狗,暴露了你的性格当我们看到牵着狗狗的女生,和抱着猫猫的女生我们对她们的第一印象会是什么呢? 现在很多人经常将女生比作猫咪一样,或者把男人比喻成狗吗?(小奶狗,小狼狗等)而很多时候,如果一个男生说自己喜欢猫,很多人心里可能会觉得这个男生比较阴柔,偏女性化,甚至有些极端的人会怀疑他是否同性恋。 https://m.xinli001.com/info/100407258
8.狼猫是凶还是吉猫被撞了是吉是凶梦见狼猫狗,这两天的麻烦来自别人对你的印象。不知道什么时候冒犯的人会在这两天绊倒你。而且辩护也没用。 梦见狼意味着你最近一切都很好,交朋友的运气也很差。你的朋友会对你口是心非,暗中计算你,利用你的利益。有爱人的人经常吵架。 梦见狼,无论是单独的还是一群的,都暗示着梦者觉得自己受到了别人的威胁,...http://hn21z.com/view/251758
9.流浪猫狗的粪便尿液中有狂犬病毒吗真实医生回答问:流浪猫狗的粪便、尿液中有狂犬病毒吗?(女,40岁)刘医生,我又来了,问过你才放心,今天和朋友去地里踏青,手捏住艾叶的时候,发现草丛里有动物粪便,非常近,然后就开始恐惧了。 答:您好,很高兴回答您的问题,在动物的尿便当中是没有狂犬病毒的,所以你这个情况没https://www.chunyuyisheng.com/pc/qa/IgVqvjVyeDAf9pbcuVeGrQ/
10.微信头像用猫咪代表什么意思大家好,今天小编关注到一个比较有意思的话题,就是关于微信搞笑头像宠物猫的问题,于是小编就整理了5个相关介绍微信搞笑头像宠物猫的解答,让我们一起看看吧。 1、微信头像用猫咪代表什么意思? 2、为什么很多人喜欢用猫狗做头像? 3、为什么女人不开心用猫的头像? https://www.jydogs.com/post/182301.html
11.幼儿园小班科学活动教案(精选5篇)3、教师问幼儿:"你们想知道小花猫送给我们什么礼物吗?"激发幼儿好奇心,从而打开小花猫送的礼物是三角形热带鱼,再请幼儿从四幅热带鱼图片中找出三角形热带鱼。 三、幼儿通过认识了有三角形的热带鱼,延伸引导幼儿说说生活中还有哪些东西是三角形的,并请幼儿一起认识一些三角形的物品。 https://www.ruiwen.com/jiaoan/2739035.html