生成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)
上一篇 2025年10月12日 下午7:15
下一篇 2025年10月12日 下午7:43


相关推荐

  • void指针(void *的用法)

    void指针(void *的用法)指针有两个属性 指向变量 对象的地址和长度但是指针只存储地址 长度则取决于指针的类型编译器根据指针的类型从指针指向的地址向后寻址指针类型不同则寻址范围也不同 比如 int 从指定地址向后寻找 4 字节作为变量的存储单元 double 从指定地址向后寻找 8 字节作为变量的存储单元 1 void 指针是一种特别的指针 void vp 说它特别是因为它没有类型

    2026年3月17日
    2
  • 五款不错的Web前端开发工具,对小白来说完全够用了!

    五款不错的Web前端开发工具,对小白来说完全够用了!很多想学习 Web 前端的同学在这之前对行业了解的并不多 因此在 Web 前端开发工具的选择上难免会显得有些力不从心 虽然网络上有很多推荐 但对于新手小白来说并不知道如何下手 为了解决这个问题 小千就给大家介绍五款不错的的开发工具 大家可以尝试一下 Notepad 这个软件就不多说了 记事本的增强版 主要应用在 Windows 平台下 大部分人都应该使用过 非常轻巧灵活 运行速度快 支持多窗口切换 可编辑语言也非常多 自动补全 语法提示和检查等功能都不错 对于前端开发入门来说 可以作为一个不错的选择 VSC

    2026年3月26日
    2
  • 朋友圈一键集赞_朋友圈秒赞怎么做到的

    朋友圈一键集赞_朋友圈秒赞怎么做到的哈喽,今天又来给大家伙推荐神器啦~相信各位都曾遇到或亲身参与过朋友圈集赞活动。比如说部分商家、公众号为了达到宣传和涨粉的需求,要求用户转发相关的活动文章、海报到朋友圈,集满一定数量的赞后,才会给予相应的优惠或福利。这种动辄几十,上百的集赞要求,对于平时连朋友圈都懒得发的社畜来说,难度系数直逼五颗星。其一是碍于面子不便集赞,二是实在没有那么多朋友来给自己点赞。图片可是,商家、公众号们赠送的活动福利实在是“太香了”!虽然没有威逼,但是在利诱之下,难免不心动。正所谓,有需求就有市场。用户存在集赞难的痛点,

    2025年9月20日
    8
  • python 元类编程_Python进阶

    python 元类编程_Python进阶前言通常我们创建类都是使用class类名,但是小伙伴们有没有想过,类是由谁来创建的呢,python中常说的万物皆对象,对象是由类创建的,那类本身也可以看做是对象,类可以由元类type创建type

    2022年7月31日
    9
  • 人工智能如何搞怪

    人工智能如何搞怪

    2026年3月12日
    3
  • vue项目中轮询及清除定时器(清除定时器不成功)

    vue项目中轮询及清除定时器(清除定时器不成功)首先排查一下你的组件有没有使用 keep alive 下面先说一下 keep alive 是什么吧 keep alivekeep alive 是 Vue 提供的一个抽象组件 用来对组件进行缓存 从而节省性能 由于是一个抽象组件 所以在页面渲染完毕后不会被渲染成一个 DOM 元素 当组件在 keep alive 内被切换时组件的 activated deactivated 这两个生命周期钩子函数会被执行 activated 在组件被激活时调用 在组件第一次渲染时也会被调用 之后每次 keep alive 激活时被 keep alive

    2026年3月17日
    1

发表回复

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

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