首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用python制作自己的训练数据集

很多情况下,在训练卷积神经网络时,需要将自己的图片作为卷积神经网络的输入。

将自己的图片数据集导入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

import sklearn

from sklearn import preprocessing

import h5py

import scipy

#导入必要的包

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])

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) for i in label_list]

return image_list,label_list

#返回两个list 分别为图片文件名及其标签 顺序已被打乱

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190202A0VF5P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券