生成h5文件_h5实现文件下载

生成h5文件_h5实现文件下载生成训练h5文件importh5pyimportosimportcv2importmathimportnumpyasnpimportrandomimportroot_path=”/home/tyd/caffe_case/HDF5/image”withopen(“/home/tyd/caffe_case/HDF5/hdf5.txt”,”r”)…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

生成训练h5文件

import h5py
import os
import cv2
import math
import numpy as np
import random
import 

root_path = "/home/tyd/caffe_case/HDF5/image"

with open("/home/tyd/caffe_case/HDF5/hdf5.txt","r") as f:
    lines = f.readlines()

num = len(lines)
random.shuffle(lines)

imgAccu = 0
imgs = np.zeros([num,3,224,224])
labels = np.zeros([num,10])
for i in range(num):
    line=lines[i]
    segments=re.split('\s+',line)[:-1]
    print segments[0]
    img = cv2.imread(os.path.join(root_path,segments[0]))
    img = cv2.resize(img,(224,224))
    img = img.transpose(2,0,1)
    imgs[i,:,:,:]=img.astype(np.float32)
    for j in range(10):
        lables[i,j]=float(segments[j+1])*224/256
batchSize = 1
batchNum = int(math.ceil(1.0*num/batchSize))

imgsMean = np.mean(imgs,axis=0)
imgs = (imgs -imgsMean)/255.0
labelsMean = np.mean(labels,axis=0)
labels = (labels-labelsMean)/10

if os.path.exists('trainlist.txt'):
    os.remove('trainlist.txt')
    
if os.path.exists('testlist.txt'):
    os.remove('testlist.txt')
comp_kwargs={'compression':'gzip','compression_opts':1}
for i in range(batchNum):
    start = i*batchSize
    end=min((i+1)*batchSize,num)
    if i<batchNum-1:
        filename='/home/tyd/caffe_case/HDF5/h5/train{0}.h5'.format(i)
    else:
        filename='/home/tyd/caffe_case/HDF5/h5/test{0}.h5'.format(i-batchNum+1)
    print filename
    with h5py.File(filename,'w') as f:
        f.create_dataset('data',data=np.array((imgs[start:end]-imgsMean)/255.0).astype(np.float32),**comp_kwargs)
        f.create_dataset('label',data=np.array(labels[start:end]).astype(np.float32),**comp_kwargs)
        
    if i < batchNum-1:
        with open('/home/tyd/caffe_case/HDF5/h5/trainlist.txt','a') as f:
            f.write(os.path.join(os.getcwd(),'train{0}.h5'.format(i)+'\n')
    else:
        with open('/home/tyd/caffe_case/HDF5/h5/testlist.txt','a') as f:
            f.write(os.path.join(os.getcwd(),'train{0}.h5'.format(i-batchNum+1)+'\n')
imgsMean = np.mean(imgsMean,axis=(1,2))
with open('mean.txt','w') as f:
    f.write(str(imgsMean[0])+'\n'+str(imgsMean[2]))

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195669.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JS实现继承的几种方法总结

    JS实现继承的几种方法总结首先定义一个父类://构造函数functionAnimal(name){ this.name=name||’Animal’; this.sleep=function(){ console.log(this.name+’正在睡觉!’); };}//原型上面的方法:Animal.prototype.eat=function(food){ console…

    2022年7月22日
    8
  • Arduino编程之Serial.println()和Serial.print()

    Arduino编程之Serial.println()和Serial.print()Arduino编程之Serial.println()和Serial.print()Arduino的输出基本就用两个函数print和println,区别在于后者比前者多了回车换行Serial.println(data)从串行端口输出数据,跟随一个回车(ASCII13,或’r’)和一个换行符(ASCII10,或’n’)。这个函数所取得的值与Serial.print()一样。Ser…

    2022年10月3日
    24
  • javaScript的基本语法结构「建议收藏」

    javaScript的基本语法结构「建议收藏」javaScript的基本语法结构一、javascript程序带的文本二、javascript中的注释三、字面量四、标识符和保留字标识符保留字五:可选的分号一、javascript程序带的文本vascript区分大小写。这就意味着他的关键字,变量,函数名和其他标识符必须始终保持一致的大小写格式二、javascript中的注释//这是单行注释/*这也是注释*///而这是另一个注释/**这是多行注释*每行开头的*字符不是必要的,只是为了美观*/三、字面量字面量(litera

    2022年10月9日
    4
  • NTP 时间服务器「建议收藏」

    NTP时间服务器,为客户机提供标准时间原理:NTP(NetworkTimeProtocol,网络时间协议)是用来使计算机时间同步的一种协议。它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正1、客户端安装chrony软件与NTP服务器沟通]#yum-yinstallchrony2、修改配置文件/etc/chrony.conf指定服务端…

    2022年4月6日
    46
  • keras自带数据集(横线生成器)

    原文地址:AdetailedexampleofhowtousedatageneratorswithKeras引言在使用kears训练model的时候,一般会将所有的训练数据加载到内存中,然后喂给网络,但当内存有限,且数据量过大时,此方法则不再可用。此博客,将介绍如何在多核(多线程)上实时的生成数据,并立即的送入到模型当中训练。工具为keras。Tu…

    2022年4月15日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号