首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Tensorflow:将.hdf5转换为tfrecord

Tensorflow:将.hdf5转换为tfrecord
EN

Stack Overflow用户
提问于 2018-08-08 20:16:35
回答 2查看 1.8K关注 0票数 1

我有.h5格式的coco数据集。我需要将其转换为.record (TF记录文件),以便我可以使用对象检测API训练我的embedded_ssd_mobilenet。我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2018-08-08 20:20:40

看看this conversion script.,它从.hdf5文件中读入点和标签,然后将它们导出到带有示例protos的TFRecords文件中。

票数 0
EN

Stack Overflow用户

发布于 2018-11-04 23:09:10

下面是我用来将一些数据从hdf5转换为tfrecord的脚本。显然,您必须修改列名

代码语言:javascript
运行
AI代码解释
复制
import h5py
import os
import tensorflow as tf

CHUNK_SIZE = 5000
COL_NAMES = {
    "index": lambda x: tf.train.Feature(int64_list=tf.train.Int64List(value=[x])),
    "vals": lambda x:     tf.train.Feature(float_list=tf.train.FloatList(value=x.reshape(-1))),
    "vals_shape": lambda x: tf.train.Feature(int64_list=tf.train.Int64List(value=list(x.shape))),
}
DATASET_NAME = "data"

def write_tfrecords(file_path, features_list):
    with tf.python_io.TFRecordWriter(file_path) as writer:
        for features in features_list:
            writer.write(tf.train.Example(features=features).SerializeToString())

def hdf5_row_to_features(hdf5_row):
    feature_dict = dict()
    for col_name in COL_NAMES.keys():
        if col_name == "index" and hdf5_row["index"] % 100 == 0:
            print("index: %d" % hdf5_row["index"])
        feature_dict[col_name] = COL_NAMES[col_name](hdf5_row[col_name])
        if col_name == "vals":
            feature_dict["vals_shape"] = COL_NAMES["vals_shape"]    (hdf5_row[col_name])
    return tf.train.Features(feature=feature_dict)

def convert_records(file_path):
    dir_name = os.path.dirname(file_path)
    base_file_name = os.path.splitext(file_path)[0]
    tfrecord_file_name_template = "%s-%d.tfrecord"
    tfrecord_file_counter = 0

    hdf5_file = h5py.File(file_path, "r")
    features_list = list()
    index = 0
    print("Dataset size: %d" % hdf5_file[DATASET_NAME].size)
    while index < hdf5_file[DATASET_NAME].size:
        if index % 100 == 0:
            print("iteration index: %d" % index)
        features = hdf5_row_to_features(hdf5_file[DATASET_NAME][index])
        features_list.append(features)

        # Write chunk to file.
        if index % CHUNK_SIZE == 0 and index != 0:
            write_tfrecords(
                os.path.join(
                    # dir_name,
                    tfrecord_file_name_template % (base_file_name, tfrecord_file_counter)),
                features_list)
            tfrecord_file_counter += 1
            features_list = list()
        index += 1

    # Write remainder to file.
    if index % CHUNK_SIZE != 0:
        write_tfrecords(
            os.path.join(
                # dir_name,
                tfrecord_file_name_template % (base_file_name,     tfrecord_file_counter)),
            features_list)

    print("Dataset size: %d" % hdf5_file[DATASET_NAME].size)
    hdf5_file.close()

您还可以检查tfrecord文件中的数据,以检查在使用此代码片段进行开发期间是否正确写入了所有内容:

代码语言:javascript
运行
AI代码解释
复制
def inspect_tf_record_file(file_path, result_chunking=1):
    count = 0
    for example in tf.python_io.tf_record_iterator(file_path):
        result = tf.train.Example.FromString(example)
        if count % result_chunking == 0:
            print("result: %s" % result)
        count += 1
    print("Total count: %d" % count)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51754968

复制
相关文章
.htaccess 全站资源重定向至 https
适用于已经部署完 https 证书的,类似阿里云虚机,只有首页重定向,而其他 html,js,css,image 等资源用 http 也能打开的情况。
Savalone
2020/02/11
7590
如何在Ubuntu 14.04上使用Apache将www重定向到非www
当你有你的网站或应用程序启动和运行一个域的背后,则是经常需要还允许用户通过简单的域名访问到它,并在WWW子域名。也就是说,他们应该可以使用或不使用“ www. ”前缀访问您的域名,例如,example.com或者www.example.com在Web浏览器中,并显示相同的内容。虽然有多种方法可以设置,但为了保持一致性和搜索引擎优化考虑,最佳解决方案是选择您喜欢的域名,简单或www,并将另一个域重定向到首选域。此类重定向称为永久重定向或“301重定向”,可以通过正确配置DNS资源记录和Web服务器软件轻松设置。
你在哪里
2018/10/19
3.6K0
如何在Ubuntu 14.04上使用Nginx将www重定向到非www
当你有你的网站或应用程序启动和运行一个域的背后,则是经常需要还允许用户通过简单的域名访问到它,并在WWW子域名。也就是说,他们应该可以使用或不使用“ www. ”前缀访问您的域名,例如,example.com或者www.example.com在Web浏览器中,并显示相同的内容。虽然有多种方法可以设置,但为了保持一致性和搜索引擎优化考虑,最佳解决方案是选择您喜欢的域名,简单或www,并将另一个域重定向到首选域。此类重定向称为永久重定向或“301重定向”,可以通过正确配置DNS资源记录和Web服务器软件轻松设置。
信姜缘
2018/10/19
2.8K0
如何在CentOS 7上使用Nginx将www重定向到非www
当你有你的网站或应用程序启动和运行一个域的背后,则是经常需要还允许用户通过简单的域名访问到它,并在WWW子域名。也就是说,他们应该可以使用或不使用“ www. ”前缀访问您的域名,例如,example.com或者www.example.com在Web浏览器中,并显示相同的内容。虽然有多种方法可以设置,但为了保持一致性和搜索引擎优化考虑,最佳解决方案是选择您喜欢的域名,简单或www,并将另一个域重定向到首选域。此类重定向称为永久重定向或“301重定向”,可以通过正确配置DNS资源记录和Web服务器软件轻松设置。
苏子晨
2018/10/19
3.5K0
如何在CentOS 7上使用Apache将www重定向到非www
当你有你的网站或应用程序启动和运行一个域的背后,则是经常需要还允许用户通过简单的域名访问到它,并在WWW子域名。也就是说,他们应该可以使用或不使用“ www.”前缀访问您的域名,例如,example.com或者www.example.com在Web浏览器中,并显示相同的内容。虽然有多种方法可以设置,但为了保持一致性和搜索引擎优化考虑,最佳解决方案是选择您喜欢的域名,简单或www,并将另一个域重定向到首选域。此类重定向称为永久重定向或“301重定向”,可以通过正确配置DNS资源记录和Web服务器软件轻松设置。
圣人惠好可爱
2018/10/12
4.4K0
如何将HTTP重定向到Apache上的HTTPS
HTTP ( 超文本传输​​协议 )是万维网 ( WWW )上数据通信的基本协议; 通常在Web浏览器和存储Web文件的服务器之间。 而HTTPS是HTTP的安全版本,其中“ S ”端代表“ Secure ”。
子润先生
2021/06/15
4.6K0
将网站http跳转至https,并将www域名重定向至不带www
实现了将http://liaobu.de, http://www.liaobu.de, https://www.liaobu.de 都跳转至https://liaobu.de 的效果
wo.
2021/06/15
3.5K0
istio: http 流量 301重定向到 https
下面截取本站 Gateway 配置中的一部分,只需添加最后两行即可实现流量重定向。
SRE扫地僧
2021/10/07
2.7K0
istio: http 流量 301重定向到 https
nginx设置http 301重定向到https
  今天有位客户问ytkah在nginx服务器如何设置http 301重定向到https,其实不难。他的服务器安装宝塔面板了,更好操作了。进入站点设置的配置文件,如下图所示,在第11行左右加入跳转代码  
ytkah
2020/03/25
12.5K0
使用 htaccess 将旧域名 301 重定向到新域名
如果更换了域名,那么为了把原来的域名的权重都转移到新域名上面,最好的方法是 301 重定向,我们可以使用 htaccess 将旧域名重定向到新域名,具体方法如下:
Denis
2023/04/15
4.2K0
Nginx 重定向所有子域名到www
vim .htaccess  或  vim  /var/www/html/.htaccess
阳光岛主
2019/02/18
6.4K0
Nginx 重定向所有子域名到www
dotnet core 不自动从 https 到 http 的 302 重定向
本文记录一个已知问题,或者准确来说是设计如此的行为,在 dotnet core 下,无论是 dotnet core 3.1 还是 dotnet 5 或 dotnet 6 或 dotnet 7 等,如果访问的 https 链接返回 302 状态码,且跳转的链接是一个 http 链接,那将不会自动跳转
林德熙
2023/04/07
1.6K0
Nginx配置SSL实现https请求并重定向http请求的实现
因为我的网站是部署在腾讯云上的,腾讯云同时也提供了免费的SSL证书(有效期1年)。
Bug生活2048
2018/08/31
4K0
Nginx配置SSL实现https请求并重定向http请求的实现
DTcms4/5中使用HttpModule将http访问301重定向到https
前面虽然讲过SSL在IIS开启的几种方式,比较常见的Microsoft URL Rewrite Module修改Web.Config如下:
崔文远TroyCui
2019/02/26
1.6K0
DTcms4/5中使用HttpModule将http访问301重定向到https
如何将 Linux 命令输出重定向到文件?
在Linux系统中,命令行是非常强大和灵活的工具。它允许我们执行各种任务和操作,包括将命令的输出保存到文件中。本文将介绍如何使用重定向操作符将Linux命令的输出导入到文件中,并列举尽可能多的命令示例。
网络技术联盟站
2023/08/03
2K0
如何将 Linux 命令输出重定向到文件?
设置HTTP重定向为HTTPS
更多关于重定向内容:https://jingyan.baidu.com/article/09ea3ede6bd7c6c0aede3931.html 敲黑板,如果.htaccess文件中原本就有伪静态代码,要把上面的代码放在URL-rewrite代码之前。
林清猫耳
2018/12/19
2.1K0
如何将 Linux 命令输出重定向到文件?
在Linux系统中,命令行是非常强大和灵活的工具。它允许我们执行各种任务和操作,包括将命令的输出保存到文件中。本文将介绍如何使用重定向操作符将Linux命令的输出导入到文件中,并列举尽可能多的命令示例。
网络技术联盟站
2023/07/14
1.8K0
如何将 Linux 命令输出重定向到文件?
vps配置ssl及https重定向
记录自己在配置vps及博客SSL证书时遇到的问题。 强制重定向https 有一种情况相信很多人都遇到过,就是虽然我们配置了ssl证书,但是https和http地址都是各自都可以单独访问。我们应该也见过类似于github的代码托管网站有强制https的开关。如果是这种情况我们还可以通过js进行301定向。 1 2 3 4 5 6 7 8 <script> var targetProtocol = "https:"; var host = "lruihao.cn"; if (window.lo
Cell
2022/02/25
1.4K0
vps配置ssl及https重定向
nginx 301 重定向、http 跳转 https
我与梦想有个约会
2023/10/21
5400
点击加载更多

相似问题

.htaccess -从www https重定向到非www https

13

如何使用.htaccess将HTTPS非www重定向到HTTPS www?

33

htaccess域重定向到https,子域重定向到https,非www重定向到www

10

htaccess -使用www将非www重定向到https

10

htaccess重定向301 https www到非www

01
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文