【Python 代码】生成hdf5文件
import random
from PIL import Image
import numpy as np
import os
import h5py
from PIL import Image LIST_FILE = ['list_train.txt', 'list_test.txt']######################
HDF5_LIST = 'HDF5/list_hdf5.txt'############## print '\nplease wait...' #write
Phase='TRAIN'
slice_num=100 #every 100 img form a hdf5 file if Phase=='TRAIN':
image_dir=LIST_FILE[0]
elif Phase=='TEST':
image_dir=LIST_FILE[1]
else:
print 'error!' files=[]
with open(image_dir) as f0:
for line in f0.readlines():
files.append(line[:-1]) random.shuffle(files)#随机打乱文件顺序############# sum_file=len(files) # sum of img
count_end=int(sum_file/slice_num) #num of hdf5 files:count_end+1 for count in range (count_end+1):
files_part=[]
if count==count_end:
files_part=files[count_end*slice_num:]
else:
files_part=files[count*slice_num:(count+1)*slice_num] # data :eg 1channel 96*32
datas = np.zeros((len(files_part),1, 512, 512)) ###输入tif尺寸
# label eg 1*2
labels = np.zeros((len(files_part),1,340, 340)) ####label尺寸 for ii, _file in enumerate(files_part):
train_img='./train/train_img_512/'+_file #######################
train_label='./train/train_label_crop340/'+_file ################
#print _file
datas[ii, :, :] = np.array(Image.open(train_img)).astype(np.float32) / 256
labels[ii, :, :] = \
((np.array(Image.open(train_label)).astype(np.float32) / 256)>0.5)\
.astype(np.float32)####大于0.5输出1,否则输出0 #New=Image.fromarray(labels[0][0])
#New.show() hdf5filename=Phase+'_hdf5_'+str(count)+'.h5'
with h5py.File('HDF5/'+hdf5filename, 'w') as f:
f['data'] = datas
f['label'] = labels
f.close()
#生成hdf5文件列表用于prototxt中
with open(HDF5_LIST, 'a') as f:
f.write('caffe-unet-src/cell_data/HDF5/'+hdf5filename + '\n')
f.close() print 'hdf5 file : %d'%(count+1) print '\ndone!'
【Python 代码】生成hdf5文件的更多相关文章
- 利用Python 脚本生成 .h5 文件 代码
利用Python 脚本生成 .h5 文件 import os, json, argparse from threading import Thread from Queue import Queue ...
- ros 使用python代码启动launch文件
在开发中我们经常会遇到使用python代码启动launch文件这样的问题.一般的做法是使用subprocess调用roslaunch.但是这种方法使用起来并不方便.要涉及到自己去控制进程的状态.由于r ...
- python template生成模板文件
简介 在实际项目中,可能会出现需要批量生成特定格式或者特定内容的文件,因此,使用template文件生成便适用于在文件中大部分格式内容都是一致的,部分内容需要替换的情况. 模板文件 name: $NA ...
- Python数据生成pdf文件
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
- python代码执行SQL文件(逐句执行)
一.简介 关于Python如何连接数据库并执行SQL语句,几乎所有的Python教程都会讲,教程里基本只介绍了执行单条SQL语句的方法,但是实际生产过程中可不只是执行一两条语句,动辄几十条甚至上百条的 ...
- 一行python代码搞定文件分享
给同事分享文件,如你所知通过聊天工具,网盘或linux命令各种方法,还有一个也可以尝试下:使用一行python代码快速搭建一个http服务器在局域网内进行下载. python3使用: python3 ...
- python 自动生成model 文件 案例分析
生成方式 Python中想要自动生成 model文件可以通过 sqlacodegen这个命令来生成对应的model文件 sqlacodegen 你可以通过pip去安装: pip install sql ...
- 【Python系列】HDF5文件介绍
一个HDF5文件是一种存放两类对象的容器:dataset和group. Dataset是类似于数组的数据集,而group是类似文件夹一样的容器,存放dataset和其他group.在使用h5py的时候 ...
- 用python代码做configure文件
在lua中,我一直用lua作为config文件,或者承载数据的文件 - 好处是lua本身就很好阅读,然后无需额外写解析的代码,还支持在configure文件中读环境变量,条件判断等,方便又强大! (在 ...
随机推荐
- jupyter安装出现问题:安装后无法打开
jupyter安装出现问题:安装后无法打开 traitlets.traitlets.TraitError: Could not decode 'C:\Users\\xce\xa2\xcc\xf0\xd ...
- Flask初识之安装及HelloWord程序
Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你用 ...
- asp.net代码审计起始篇之系统搭建
最近开始学习asp.net的代码审计,在开始审计之前除了要对语言有些基本的了解,还需要会在本地搭建demo网站方便调试和复现漏洞 准备工作:操作系统:我用的是win10 数据库:我用的sql serv ...
- 服务网关ZuulFilter过滤器--如何解决跨域请求中的OPTIONS请求
进行跨域请求的时候,并且请求头中有额外参数,比如token,客户端会先发送一个OPTIONS请求 来探测后续需要发起的跨域POST请求是否安全可接受 所以这个请求就不需要拦截,下面是处理方式 @Ove ...
- 解决问题 inner element must either be a resource reference or empty.
-Q: 错误<item>内部元素必须是资源引用或空 升级Andriod Studio之后编译发现如下错误 Android resource compilation failed ***\a ...
- 从零开始学虚拟DOM
此文主要翻译自:Building a Simple Virtual DOM from Scratch,看原文的同学请直达! 此文是作者在一次现场编程演讲时现场所做的,有关演讲的相关资料我们也可以在原英 ...
- linux系统编程之进程(三)
今天继续学习进程相关的东东,继上节最后简单介绍了用exec函数替换进程映像的用法,今天将来深入学习exec及它关联的函数,话不多说,正式进入正题: exec替换进程映象: 对于fork()函数,它 ...
- Div+CSS总结
之前最早接触是在牛腩新闻发布系统中,当时看到这些自己是一头雾水,不过好在我们已经形成了这样的学习习惯,先实践在接触理论,这样再学习理论的时候就会想到当初我是怎样的迷茫,这样自己印象更深刻. DIV+C ...
- (java)selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致
描述:selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致,若一致则切换到该窗口并获取标题 跳出if判断,获取父级标题,并关闭 HTML标签不太明显时,可以用路径表示 ...
- 语义(Semantics)
流计算语义(Semantics)的定义 每一条记录被流计算系统处理了几次 有三种语义: 1.At most once 一条记录要么被处理一次,要么没有被处理 2.At least once 一条记录可 ...