質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.63%

PythonでAttributeError: type object 'array.array' has no attribute 'get'

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,046

yep

score 45

kerasでhdf5形式のファイルのweightsを取得したいと思っています。
そこで、下記のサイトを参考にさせて頂きました。
【Python】kerasで保存したweightsをh5pyを使って取得する

しかし、
list(array.get('dense_1').keys())

from array import array
を試してみるも実行できません。

もしよろしければご教授お願いいたします。

Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import h5py
>>> model_weights = h5py.File('./cifar10_cnn.h5', 'r')
>>> list(model_weights)
['activation_1', 'activation_2', 'activation_3', 'activation_4', 'activation_5', 'conv2d_1', 'conv2d_2', 'conv2d_3', 'conv2d_4', 'dense_1', 'dense_2', 'dropout_1', 'dropout_2', 'dropout_3', 'flatten_1', 'max_pooling2d_1', 'max_pooling2d_2']
>>> list(array.get('dense_1').keys())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'array' is not defined
>>> from array import array
>>> list(array.get('dense_1').keys())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'array.array' has no attribute 'get'
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

提示のサイトを確認しましたが、変数arrayが突然現れており、記載通りにやってもエラーにしかなりません。
別のサイトを参考にした方が良いかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/11/19 15:18

    別のサイトで出来ました!

    キャンセル

0

tensorflow.kerasでKeras方式のhdf5で重みを保存する方法
上記のサイトより重みをprint出来ました。

from keras.models import model_from_json

#学習済みのモデルと重みを読み込む
json_string=open('cifar10_cnn.json').read()
model=model_from_json(json_string)
model.load_weights('cifar10_cnn.h5')
weights = model.get_weights()
print(weights)
[array([[[[-0.06046639,  0.1360418 ,  0.01088118,  0.0781121 ,
           0.03307734,  0.03973862, -0.06733909,  0.11552744,
          -0.00421197,  0.00345406,  0.15220477,  0.05726553,
           0.13350606, -0.07339998,  0.08390728,  0.12879461,
          -0.13802427,  0.07520146, -0.08935773,  0.16637804,
          -0.12444707, -0.05206852,  0.0564011 , -0.06115709,
          -0.07663081,  0.0469611 ,  0.00295938, -0.0394869 ,
           0.06988209,  0.04465153,  0.20263655, -0.08661729],
         [-0.03087382,  0.08767641,  0.13124135,  0.05787393,
           0.10200717,  0.05925243,  0.00239198, -0.01904036,
          -0.171928  ,  0.12737939,  0.08427381, -0.09486252,
          -0.09249905,  0.08990879,  0.08831446, -0.00572674,
          -0.13383166,  0.07654797, -0.04322378,  0.23868267,
          -0.00401202,  0.02150607, -0.15849179,  0.15435943,
          -0.18320788,  0.02665848, -0.13539003, -0.0412758 ,
          -0.07525539,  0.03291934,  0.04504399,  0.11159579],
         [ 0.0217362 ,  0.00198586, -0.15181543,  0.08084404,
           0.165236  , -0.00305215,  0.07087464, -0.10553755,
          -0.14559247,  0.11881211,  0.14285146,  0.1740625 ,
          -0.16269761, -0.03663158,  0.09022299, -0.02726808,
          -0.18378612, -0.00368398,  0.11413636,  0.22425176,
          -0.03545101, -0.17946966,  0.02552908,  0.01065567,
          -0.13620807, -0.20378782,  0.02344523, -0.01809526,
          -0.08870979,  0.02415092, -0.13133453,  0.1974393 ]],
以下、略。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.63%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る