Nlp Can';无法在python中加载HDF5

Nlp Can';无法在python中加载HDF5,nlp,hdf5,h5py,fast-ai,Nlp,Hdf5,H5py,Fast Ai,我将学习本教程: 我在第3b部分下载了预先训练过的模型。 我想打开.h5文件并查看/使用权重。我尝试使用python来实现这一点,但它没有打开 以下是我使用的代码: import tables import pandas as pd filename = “…bwd_wt103.h5” file = tables.open_file(filename) 以下是错误: OSError: HDF5 error back trace File “C:\ci\hdf5_1525883595717\wo

我将学习本教程:

我在第3b部分下载了预先训练过的模型。 我想打开.h5文件并查看/使用权重。我尝试使用python来实现这一点,但它没有打开

以下是我使用的代码:

import tables
import pandas as pd
filename = “…bwd_wt103.h5”
file = tables.open_file(filename)
以下是错误:

OSError: HDF5 error back trace
File “C:\ci\hdf5_1525883595717\work\src\H5F.c”, line 511, in H5Fopen
unable to open file
File “C:\ci\hdf5_1525883595717\work\src\H5Fint.c”, line 1604, in H5F_open
unable to read superblock
File “C:\ci\hdf5_1525883595717\work\src\H5Fsuper.c”, line 413, in H5F__super_read
file signature not found

End of HDF5 error back trace

Unable to open/create file 'C:/Users/Rishabh/Documents/School and Work/Classes/8 
Fall2019/Senior Design/ULMFiT/Wiki Data/wt103/models/bwd_wt103.h5'
我还使用了HDF组HDF查看器:

但这也不起作用。它给出了一个错误,说“无法打开文件…不支持的格式”

有没有办法在Python中加载权重?我最终希望访问堆叠LSTM的最后一层以创建单词嵌入


提前谢谢。

那是因为它是火炬模型。您可以使用
torch
将其加载到本地机器上,如下所示:

导入火炬 >>>filename=“bwd_wt103.h5” >>>f=torch.load(文件名,映射位置=torch.device('cpu')) 现在,让我们来探讨一下:

>类型(f)
有序的
>>>len(f.keys())
15
>>>列表(f.keys())
['0.编码器.权重',
“0.带_dropout.embed.weight的编码器_”,
“0.rnns.0.模块重量”,
'0.rnns.0.module.bias_ih_l0',
'0.rnns.0.module.bias_hh_l0',
“0.rnns.0.module.weight_hh_l0_raw”,
‘0.rnns.1.模块重量_ih_l0’,
“0.rnns.1.模块偏差”,
“0.rnns.1.模块偏差\u hh\u l0”,
“0.rnns.1.模块重量\u hh\u l0\u原始”,
‘0.rnns.2.模块重量_ih_l0’,
“0.rnns.2.模块偏差”,
“0.rnns.2.模块偏差\u hh\u l0”,
“0.rnns.2.模块重量\u hh\u l0\u原始”,
“1.解码器.权重”]
您可以访问
0.rnns.2.module.weight\u hh\u l0\u raw的权重,如下所示:

wts=f['0.rnns.2.module.weight\u hh\u l0\u raw'] >>>形状 火炬尺寸([1600400])