美文网首页深度学习
TensorFlow 基础(11)

TensorFlow 基础(11)

作者: zidea | 来源:发表于2020-01-07 20:49 被阅读0次

加载数据,这我们获取图片是从微软提供资源进行机器学习
https://www.microsoft.com/en-us/download/confirmation.aspx?id=54765

import numpy as np
import matplotlib.pyplot as plt
import os
import cv2

cv 是对图片进行处理,os 操作文件路径,而 matplotlib 用于将图片可视化。加载后将图片解压到 images_data/PetImages


DATA_DIR = "images_data/PetImages"
CATEGORIES = ["Dog","Cat"]
for category in CATEGORIES:
    path = os.path.join(DATA_DIR,category)
    # print(path)
    for img in os.listdir(path):
        print(img)
        img_array = cv2.imread(os.path.join(path,img),cv2.IMREAD_GRAYSCALE)
        plt.imshow(img_array,cmap="gray")
        plt.show()
        break
    break

显示第一张图片,这是一张 Dog 图片 cv2.IMREAD_GRAYSCALE 将图片转换为黑白照片,因为识别 Dog ,颜色对识别作用并不大,所以这里所以忽略图片


print(img_array.shape)
(500, 333)

从图片上来看,图片大小和方向都不一致,有图图片是长方形,有的图片是正方形。

IMG_SIZE = 50
new_array = cv2.resize(img_array, (IMG_SIZE, IMG_SIZE))
plt.imshow(new_array,cmap='gray')
plt.show()

我们对图片进行一些处理,图片尺寸缩减为 50 ,调整一个图片大小尽量小,而且可从中判断出 Dog。


training_data = []
def create_training_data():
    for category in CATEGORIES:
        print(category)
        path = os.path.join(DATA_DIR,category)
        class_num = CATEGORIES.index(category)
        # print(path)
        for img in os.listdir(path):
            try:
                img_array = cv2.imread(os.path.join(path,img),cv2.IMREAD_GRAYSCALE)
                new_array = cv2.resize(img_array, (IMG_SIZE, IMG_SIZE))
                training_data.append([new_array,class_num])
            except Exception as e:
                pass
create_training_data()
print(len(training_data))
12476
import random
random.shuffle(training_data)
for sample in training_data[:10]:
    print(sample[1])
X = []
y = []
for features, label in training_data:
    X.append(features)
    y.append(label)
X = np.array(X).reshape(-1,IMG_SIZE,IMG_SIZE,1)
pickle_out = open("X.pickle","wb")
pickle.dump(X, pickle_out)
pickle_out.close()

pickle_out = open("y.pickle","wb")
pickle.dump(y, pickle_out)
pickle_out.close()

相关文章

网友评论

    本文标题:TensorFlow 基础(11)

    本文链接:https://www.haomeiwen.com/subject/hgberctx.html