【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文件中读环境变量,条件判断等,方便又强大! (在 ...
随机推荐
- javascript原型链[图]
- TR-银行通信相关文档
DMEE配置指南: https://wenku.baidu.com/view/06790649767f5acfa1c7cd73.html F110 DMEE配置: https://wenku.baid ...
- c#测量字体宽度
Bitmap image_size = * count, f.Height);//初始化大小 Graphics size_g = Graphics.FromImage(image_size); Siz ...
- Java之Math类使用小结
Java的Math类封装了很多与数学有关的属性和方法,大致如下: public class Main { public static void main(String[] args) { // TOD ...
- Json序列化 总结
案例总结:https://www.cnblogs.com/jsll/p/11855349.html public string Json_GetDepartment_Position(...)//st ...
- Python——循环语句
while循环: 通常使用在当满足某一条件时进行的循环语句. 例如: while True: #当为True时进行循环,这个搭配就是死循环 print(1) while count < 10: ...
- python判断目录或者文件
1. 判断目录是否存在 'isdir',删除目录时只有该目录为空才可以 'rmdir' import os if(os.path.isdir('D:/Python_workspace/spyder_s ...
- 关于类型为numpy,TensorFlow.tensor,torch.tensor的shape变化以及相互转化
https://blog.csdn.net/zz2230633069/article/details/82669546 2018年09月12日 22:56:50 一只tobey 阅读数:727 1 ...
- 小程序缓存Storage的基本用法
wx.setStorageSync('key', 'hello world') 然后在小程序调试器里面的Storage里面就能看到设置的值.在小程序里面,如果用户不主动清除缓存,这个缓存是一直在的. ...
- 2.遍历XML即添加修改节点
1.xml <?xml version="1.0" encoding="utf-8" ?> <stories> <story ac ...