首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将torch t7模型转换为keras h5

将torch t7模型转换为keras h5
EN

Stack Overflow用户
提问于 2019-03-13 16:52:00
回答 1查看 1.6K关注 0票数 0

我们如何将t7模型转换为keras‘h5?我试着这样做是为了c3d-sports1m-kinetics.t7,你可以在这里找到https://github.com/kenshohara/3D-ResNets/releases

我可以要求的至少是一种将t7模型加载到python的方法,然后提取它的权重,但是我不能用load_lua()函数来实现.

我试图使用这个函数file.py执行时出错。

我得到的错误如下:

代码语言:javascript
复制
Traceback (most recent call last):
File "convert_t7_to_hdf5.py", line 574, in <module>
    a = load_lua("model.t7")
  File "convert_t7_to_hdf5.py", line 571, in load_lua
    return reader.read()
  File "convert_t7_to_hdf5.py", line 542, in read
    typeidx = self.read_int()
  File "convert_t7_to_hdf5.py", line 440, in read_int
    return self._read('i')
  File "convert_t7_to_hdf5.py", line 431, in _read
    result = struct.unpack(fmt, self.f.read(sz))
ValueError: read of closed file
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-13 17:54:41

如本链接所述,https://github.com/pytorch/pytorch/issues/15307#issuecomment-448086741

使用火炬文件包,加载是成功的。您可以将模型的内容转储到文件中,然后了解内容。每一层信息都以字典的形式存储。了解模型体系结构将使解析内容变得更容易。

代码语言:javascript
复制
>>> import torchfile
>>> model = torchfile.load('c3d-sports1m-kinetics.t7')
>>> module = model.modules[0].modules[0]
>>> module.name
b'conv1a'
>>> module['weight'].shape
(64, 3, 3, 3, 3)
>>> module['bias'].shape
(64,)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55147282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档