问题
现在有很多的图片,里面分别有猫与狗,识别这些图片,区分猫与狗
设计解决这个问题的思路
1、下载与放置训练图片
2、现在对应的依赖,tensorflow、numpy等等
3、解析文件名,识别dog还是cat
4、建模
5、对模型进行训练
6、用测试模型进行验证
7、输出结果
8、优化模型 to step4
[1]图片地址
Dogs vs. Cats | Kaggle 现在数据,现在速度比较慢,可以使用网盘。
网盘地址(提取码:lhrr)
【2】处理训练集的数据结构
import os
filenames = os.listdir('./dogs-vs-cats/train’)
# 动物类型
categories = []
for filename in filenames:
category = filename.split('.')[0]
categories.append(category)
import pandas as pd
# 结构化数据
df = pd.DataFrame({
'filename':filenames,
'category':categories
})
#展示对应的数据
import random
from keras.preprocessing import image
import matplotlib.pyplot as plt
## 看看结构化之后的结果
print(df.head())
print(df.tail())
print(df['category'].value_counts())
df['category'].value_counts().plot(kind = 'bar')
plt.show()
# 展示个图片看看
sample = random.choice(filenames)
image = image.load_img('./dogs-vs-cats/train/' + sample)
plt.imshow(image)
plt.show()