码迷,mamicode.com
首页 > 编程语言 > 详细

python如何讲一个文件中的图片分到两个

时间:2017-07-09 18:21:01      阅读:785      评论:0      收藏:0      [点我收藏+]

标签:generator   rect   dom   imp   目录   copy   文件   directory   name   

最近在做一个图像分类的比赛,作为初次接触深度学习的菜鸟,上手了keras。说实话,除了keras教程,中文博客的技术支持太差了。正在头大的学习中...废话不多说,记录一下学习中的一些小细节。在遇到generator.flow_from_directory(‘data/train‘...)这个函数时,需要输入训练图片的路径。此时训练图像和验证图像都在一个目录下,所以我需要重建两个文件来分别放训练图像和验证图像。开始,我想,利用opencv将每张图片读出来,然后再根据是否为训练图像或者验证图像分别重新写到重新建的文件夹里。后来发现python中的 from shutil import copy2 函数可以直接将图片放到指定的路径下。

import os
import random
import shutil
from  shutil import copy2
trainfiles = os.listdir(Data/train)
num_train = len(trainfiles)
index_list = range(num_train)
random.shuffle(index_list)
num = 0
trainDir = Data/pre_train
validDir = Data/pre_valid
for i in index_list:
    fileName = os.path.join(Data/train, trainfiles[i])
    if num < num_train*0.8:
        copy2(fileName, trainDir)
    else:
        copy2(fileName, validDir)
    num += 1

简单思路:将原来‘Data/train’路径下的图片名读出,然后打乱所有图片的顺序,将打乱顺序后的总图片数的前80%图片作为训练数据放到新建的‘Data/pre_train‘目录下,其余的图片放到‘Data/pre_valid‘目录下。

python如何讲一个文件中的图片分到两个

标签:generator   rect   dom   imp   目录   copy   文件   directory   name   

原文地址:http://www.cnblogs.com/subic/p/7142149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!