【问题标题】:How to copy contents of hdf5 file to text file如何将hdf5文件的内容复制到文本文件
【发布时间】:2019-10-23 22:51:55
【问题描述】:

我已将模型的权重保存在 hdf5 文件中。该文件包含如下内容:

[u'model_weights', u'optimizer_weights']

我希望能够将所有权重逐行打印到文本文件中。我该怎么做?

编辑1:

最近发现了如何打印整个键/组。这是完整的信息

FILE_CONTENTS {
 group      /
 group      /model_weights
 group      /model_weights/concatenate_1
 group      /model_weights/conv1d_1
 group      /model_weights/conv1d_1/conv1d_1
 dataset    /model_weights/conv1d_1/conv1d_1/bias:0
 dataset    /model_weights/conv1d_1/conv1d_1/kernel:0
 group      /model_weights/conv1d_2
 group      /model_weights/conv1d_2/conv1d_2
 dataset    /model_weights/conv1d_2/conv1d_2/bias:0
 dataset    /model_weights/conv1d_2/conv1d_2/kernel:0
 group      /model_weights/conv1d_3
 group      /model_weights/conv1d_3/conv1d_3
 dataset    /model_weights/conv1d_3/conv1d_3/bias:0
 dataset    /model_weights/conv1d_3/conv1d_3/kernel:0
 group      /model_weights/dense_1
 group      /model_weights/dense_1/dense_1
 dataset    /model_weights/dense_1/dense_1/bias:0
 dataset    /model_weights/dense_1/dense_1/kernel:0
 group      /model_weights/dropout_1
 group      /model_weights/flatten_1
 group      /model_weights/flatten_2
 group      /model_weights/flatten_3
 group      /model_weights/input_1
 group      /model_weights/max_pooling1d_1
 group      /model_weights/max_pooling1d_2
 group      /model_weights/max_pooling1d_3
 group      /optimizer_weights
 dataset    /optimizer_weights/Variable:0
 dataset    /optimizer_weights/Variable_10:0
 dataset    /optimizer_weights/Variable_11:0
 dataset    /optimizer_weights/Variable_12:0
 dataset    /optimizer_weights/Variable_13:0
 dataset    /optimizer_weights/Variable_14:0
 dataset    /optimizer_weights/Variable_15:0
 dataset    /optimizer_weights/Variable_1:0
 dataset    /optimizer_weights/Variable_2:0
 dataset    /optimizer_weights/Variable_3:0
 dataset    /optimizer_weights/Variable_4:0
 dataset    /optimizer_weights/Variable_5:0
 dataset    /optimizer_weights/Variable_6:0
 dataset    /optimizer_weights/Variable_7:0
 dataset    /optimizer_weights/Variable_8:0
 dataset    /optimizer_weights/Variable_9:0
 dataset    /optimizer_weights/iterations:0
 }
}

【问题讨论】:

    标签: python hdf5


    【解决方案1】:
    with open(hdf5_file) as fin:
        for line in fin:
            line = line.strip()[1:-1] # assume you have [u'model_weights', u'optimizer_weights'] in each line
            print '\n'.join(line.split(','))
    

    【讨论】:

      【解决方案2】:
      from keras.models import load_model
      file_to_open = "your_file.h5"
      f = h5py.File(file_to_open, 'r')
      model = load_model(file_to_open)
      for layer in model.layers:
      
          g=layer.get_config()
          h=layer.get_weights()
          print (g)
          print (h)
      

      【讨论】:

      • 请在您的回答中描述问题是什么,以及这个 sn-p 将如何解决它,以帮助其他人理解这个答案
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-31
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多