Python将自己的图片数据集导入h5py,做识别的预处理

更新时间:2023-06-11 22:13:35 阅读: 评论:0

Python将⾃⼰的图⽚数据集导⼊h5py,做识别的预处理
很多情况下,在训练卷积神经⽹络时,需要将⾃⼰的图⽚作为卷积神经⽹络的输⼊。
将⾃⼰的图⽚数据集导⼊h5py,所占空间⼩,使⽤⽅便
条件:⾃⼰的图⽚,eg:cats VS dogs,并将两类图⽚分别放置于两个⽂件夹(我这⾥是yes_tumble与not_tumble)
import os
import numpy as np
from PIL import Image
import tensorflow as tf
import matplotlib.pyplot as plt
北京o培训import sklearn
儿童学数学from sklearn import preprocessing
import h5py
import scipy
#导⼊必要的包
shuba
def get_files(file_dir):
cats = []
label_cats = []
dogs = []
label_dogs = []
蛋糕制作培训for file in os.listdir(file_dir+'/not_tumble'):
cats.append(file_dir +'/not_tumble'+'/'+ file)
label_cats.append(0)    #添加标签,该类标签为0,此为2分类例⼦,多类别识别问题⾃⾏添加
for file in os.listdir(file_dir+'/yes_tumble'):
dogs.append(file_dir +'/yes_tumble'+'/'+file)
label_dogs.append(1)
#把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])
establishment
temp = anspo()uncopyrightable
np.random.shuffle(temp)
2020高考试题及答案#从打乱的temp中再取出list(img和lab)
image_list = list(temp[:, 0])
label_list = list(temp[:, 1])
label_list = [int(i) for i in label_list]
return  image_list,label_list
#返回两个list 分别为图⽚⽂件名及其标签顺序已被打乱
train_dir = 'F:/CSISA_Picture'
image_list,label_list = get_files(train_dir)
print(len(image_list))
青春随想print(len(label_list))
#450为数据长度的20%
Train_image =  np.random.rand(len(image_list)-450, 64, 64, 3).astype('float32') Train_label = np.random.rand(len(image_list)-450, 1).astype('float32')
Test_image =  np.random.rand(450, 64, 64, 3).astype('float32')
Test_label = np.random.rand(450, 1).astype('float32')
for i in range(len(image_list)-450):
Train_image[i] = np.array(plt.imread(image_list[i]))
Train_label[i] = np.array(label_list[i])
for i in range(len(image_list)-450, len(image_list)):
Test_image[i+450-len(image_list)] = np.array(plt.imread(image_list[i]))
Test_label[i+450-len(image_list)] = np.array(label_list[i])
# Create a new file
f = h5py.File('data.h5', 'w')
课外辅导学校
f.clo()
# Load hdf5 datat
train_datat = h5py.File('data.h5', 'r')
train_t_x_orig = np.array(train_datat['X_train'][:]) # your train t features train_t_y_orig = np.array(train_datat['y_train'][:]) # your train t labels test_t_x_orig = np.array(train_datat['X_test'][:]) # your train t features test_t_y_orig = np.array(train_datat['y_test'][:]) # your train t labels
f.clo()
print(train_t_x_orig.shape)
new wave
print(train_t_y_orig.shape)
print(train_t_x_orig.max())
print(train_t_x_orig.min())
print(test_t_x_orig.shape)
print(test_t_y_orig.shape)
#测试
plt.imshow(train_t_x_orig[222])
print(train_t_y_orig[222])

本文发布于:2023-06-11 22:13:35,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/932656.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:神经   标签   培训
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图