最近在做一个图像分类的比赛,作为初次接触深度学习的菜鸟,上手了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如何讲一个文件中的图片分到两个的更多相关文章

  1. python调用另一个文件中的代码,pycharm环境下:同文件夹下文件(.py)之间的调用,出现红线问题

    如何调用另一个python文件中的代码无论我们选择用何种语言进行程序设计时,都不可能只有一个文件(除了“hello world”),通常情况下,我们都需要在一个文件中调用另外一个文件的函数呀数据等等, ...

  2. 利用ROS工具从bag文件中提取图片

    bag文件是ROS常用的数据存储格式,因此要从bag文件中提取数据就需要了解一点ROS的背景知识. 1. 什么是ROS及其优势 ROS全称Robot Operating System,是BSD-lic ...

  3. Silverlight读取Zip文件中的图片与视频

    首先看看Demo的截图: 下面我将一步步展示实现这个Demo的过程,这个需求就是读出Zip文件中的图片与视频. Demo整体架构: 首先我们准备几张图片和视频,然后将其压缩至resource.zip文 ...

  4. Java 使用PDFBox提取PDF文件中的图片

    今天做PDF文件解析,遇到一个需求:提取文件中的图片并保存.使用的是流行的apache开源jar包pdfbox, 但还是遇到坑了,比如pdfbox版本太高或太低都不能用!!这个包竟然没有很好地做好兼容 ...

  5. Excel表格中依据某一列的值,将这列中一样的数据放在一个文件中。

    一需求:按照标题C的内容,一样的数据整理到一个文件中. 二.操作: 1.atl+F11弹出vb窗口 2.点击       插入===>模块   ,复制以下代码,注意这是一个表头为三行的函数(保存 ...

  6. 统计一个文件中出现字符'a'的次数

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #统计一个文件中出现字符'a'的次数 #http://www.cnblogs.com/hongten/p/ho ...

  7. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  8. Servlet从本地文件中读取图片,并显示在页面中

    import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer ...

  9. Java基础知识强化之IO流笔记52:IO流练习之 把一个文件中的字符串排序后再写入另一个文件案例

    1. 把一个文件中的字符串排序后再写入另一个文件 已知s.txt文件中有这样的一个字符串:"hcexfgijkamdnoqrzstuvwybpl" 请编写程序读取数据内容,把数据排 ...

随机推荐

  1. RSA关于加密长度限制的解决办法

    RSA关于加密长度限制的解决办法   因为rsa采用分块进行加密的,所以有长度限制.如果加密信息较多,可分段加解密(不建议对大量信息rsa加密,效率低效): 正常加密情形如下:      public ...

  2. HDU 1979 Red and Black

    题目: There is a rectangular room, covered with square tiles. Each tile is colored either red or black ...

  3. PHP pathinfo() 函数

    PHP pathinfo() 函数 完整的 PHP Filesystem 参考手册 定义和用法 pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息. 返回的数组元素如下: [dirn ...

  4. Jupyter notebook入门

    Jupyter notebook入门 [TOC] Jupyter notebook 是一种 Web 应用,能让用户将说明文本.数学方程.代码和可视化内容全部组合到一个易于共享的文档中. Jupyter ...

  5. 【开发技术】web.xml vs struts.xml

    web.xml用来配置servlet,监听器(Listener),过滤器(filter),还有404错误跳转页面,500,等还配置欢迎页面等,总之一句话,就是系统总配置方案写在web.xml中 str ...

  6. linux如何安装java环境

    linux安装jdk7步骤: 1.首先使用命令查看linux系统版本号: lsb_release -a 11 2.下载对应的jdk版本,笔者使用的是jdk-7u79-linux-x64.tar.gz: ...

  7. WPF 简易新手引导

    这两天不忙,所以,做了一个简易的新手引导小Demo.因为,不是项目上应用,所以,做的很粗糙,也就是给需要的人,一个思路而已. 新手引导功能的话,就是告诉用户,页面上操作的顺序,第一步要做什么,第二步要 ...

  8. Centos7-卸载自带的jdk 安装jdk8

    卸载JDK Centos7一般都会带有自己的openjdk,我们一般都回用oracle的jdk,所以要卸载 步骤一:查询系统是否以安装jdk #rpm -qa|grep java 或    #rpm ...

  9. Git: 本地创建版本库用于多处同步

    问题背景 目前有一个 Android 和 一个 iOS 项目,两个项目底层使用相同的 C++ 代码.由于在开发迭代中代码时常更新,而且往往是今天 Android 部分修改一小部分,明天 iOS 部分修 ...

  10. 判断具有某个属性js、jQuery

    if(!rr.classList.contains('invalid')){ updateCount(i,-1);//更新tab数量 } /*if(!$(rr).hasClass('invalid') ...