[TF2.0]xxxx.h 5モデル導入のいくつかのエラーと解決方法

2997 ワード

1.ValueError: Unknown XXX: YYY


解決策はtfです.keras.models.load_Model()カッコにcustomを付けるobjects={"YYY":XXX対応の関数またはオブジェクト}
例えばチュートリアルではネットワークモデルをclassと定義し、classの名前はMyModel(Sequentialを継承している)で、この解決策はモデルのインポート時にcustom_を加えることです.objects={"MyModel":Sequential}など、次のコードがあります.
new_model=tf.keras.models.load_model("chapter10/models/model.h5",
                                      custom_objects = {"MyModel":Sequential})

時には他の間違いを報告することもありますが、このようなタイプの間違いが長くなると、何かに欠けたり、何かを加えたりするのが一般的です.例えばValueError:Unknown activation function:leaky_reluに加えて
new_model=tf.keras.models.load_model("chapter10/models/model.h5",
                                      custom_objects = {"MyModel":Sequential,
                                                        "leaky_relu":tf.nn.leaky_relu})

2.ValueError: Error when checking input:


モデルを訓練するとき、最初のレイヤがテンソルの次元を入力していない場合、モデルをインポートするときにエラーが発生する可能性があります.
ValueError: You are trying to load a weight file containing 6 layers into a model with 0 layers.
上記の次元を追加して再訓練するとinput_と書きますshape=(None,784)では、モデルのインポート時にエラーが発生する可能性があります.
ValueError: Error when checking input: expected dense_input to have 3 dimensions, but got array with shape (5139, 784)
1つのエラーを避ける方法は、モデルを訓練するときにinput_を使用することです.dim=784は、入力データの次元を表します.たとえば、次のようになります.
Dense(100,kernel_initializer=he,activation=elu,input_dim=784)