カテゴリ変数を出力しようとしているときのケラの形状の問題

paththebug

次の非常に単純なコードを使用して、3つのカテゴリを持つ可能性のある出力変数を予測しています。

n_factors = 20
np.random.seed = 42

def embedding_input(name, n_in, n_out, reg):
    inp = Input(shape=(1,), dtype='int64', name=name)
    return inp, Embedding(n_in, n_out, input_length=1, W_regularizer=l2(reg))(inp)

user_in, u = embedding_input('user_in', n_users, n_factors, 1e-4)
artifact_in, a = embedding_input('artifact_in', n_artifacts, n_factors, 1e-4)

mt = Input(shape=(31,))
mr = Input(shape=(1,))
sub = Input(shape=(24,))

def onehot(featurename):
    onehot_encoder = OneHotEncoder(sparse=False)
    onehot_encoded = onehot_encoder.fit_transform(Modality_Durations[featurename].reshape(-1, 1))
    trn_onehot_encoded = onehot_encoded[msk]
    val_onehot_encoded = onehot_encoded[~msk]
    return trn_onehot_encoded, val_onehot_encoded

trn_onehot_encoded_mt, val_onehot_encoded_mt = onehot('modality_type')
trn_onehot_encoded_mr, val_onehot_encoded_mr = onehot('roleid')
trn_onehot_encoded_sub, val_onehot_encoded_sub = onehot('subject')
trn_onehot_encoded_quartile, val_onehot_encoded_quartile = onehot('quartile')

# Model
x = merge([u, a], mode='concat')
x = Flatten()(x)
x = merge([x, mt], mode='concat')
x = merge([x, mr], mode='concat')
x = merge([x, sub], mode='concat')
x = Dense(10, activation='relu')(x)
BatchNormalization()
x = Dense(3, activation='softmax')(x)
nn = Model([user_in, artifact_in, mt, mr, sub], x)
nn.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

nn.optimizer.lr = 0.001
nn.fit([trn.member_id, trn.artifact_id, trn_onehot_encoded_mt, trn_onehot_encoded_mr, trn_onehot_encoded_sub], trn_onehot_encoded_quartile, 
       batch_size=256, 
       epochs=2, 
       validation_data=([val.member_id, val.artifact_id, val_onehot_encoded_mt, val_onehot_encoded_mr, val_onehot_encoded_sub], val_onehot_encoded_quartile)
      )

モデルの概要は次のとおりです。

____________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to                     
====================================================================================================
user_in (InputLayer)             (None, 1)             0                                            
____________________________________________________________________________________________________
artifact_in (InputLayer)         (None, 1)             0                                            
____________________________________________________________________________________________________
embedding_9 (Embedding)          (None, 1, 20)         5902380     user_in[0][0]                    
____________________________________________________________________________________________________
embedding_10 (Embedding)         (None, 1, 20)         594200      artifact_in[0][0]                
____________________________________________________________________________________________________
merge_25 (Merge)                 (None, 1, 40)         0           embedding_9[0][0]                
                                                                   embedding_10[0][0]               
____________________________________________________________________________________________________
flatten_7 (Flatten)              (None, 40)            0           merge_25[0][0]                   
____________________________________________________________________________________________________
input_13 (InputLayer)            (None, 31)            0                                            
____________________________________________________________________________________________________
merge_26 (Merge)                 (None, 71)            0           flatten_7[0][0]                  
                                                                   input_13[0][0]                   
____________________________________________________________________________________________________
input_14 (InputLayer)            (None, 1)             0                                            
____________________________________________________________________________________________________
merge_27 (Merge)                 (None, 72)            0           merge_26[0][0]                   
                                                                   input_14[0][0]                   
____________________________________________________________________________________________________
input_15 (InputLayer)            (None, 24)            0                                            
____________________________________________________________________________________________________
merge_28 (Merge)                 (None, 96)            0           merge_27[0][0]                   
                                                                   input_15[0][0]                   
____________________________________________________________________________________________________
dense_13 (Dense)                 (None, 10)            970         merge_28[0][0]                   
____________________________________________________________________________________________________
dense_14 (Dense)                 (None, 3)             33          dense_13[0][0]                   
====================================================================================================
Total params: 6,497,583
Trainable params: 6,497,583
Non-trainable params: 0
_____________________________

しかし、fitステートメントで、次のエラーが発生します。

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-71-7de0782d7d5d> in <module>()
      5        batch_size=256,
      6        epochs=2,
----> 7        validation_data=([val.member_id, val.artifact_id, val_onehot_encoded_mt, val_onehot_encoded_mr, val_onehot_encoded_sub], val_onehot_encoded_quartile)
      8       )
      9 # nn.fit([trn.member_id, trn.artifact_id, trn_onehot_encoded_mt, trn_onehot_encoded_mr, trn_onehot_encoded_sub], trn.duration_new,

/home/prateek_dl/anaconda3/lib/python3.5/site-packages/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
   1520             class_weight=class_weight,
   1521             check_batch_axis=False,
-> 1522             batch_size=batch_size)
   1523         # Prepare validation data.
   1524         do_validation = False

/home/prateek_dl/anaconda3/lib/python3.5/site-packages/keras/engine/training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, check_batch_axis, batch_size)
   1380                                     output_shapes,
   1381                                     check_batch_axis=False,
-> 1382                                     exception_prefix='target')
   1383         sample_weights = _standardize_sample_weights(sample_weight,
   1384                                                      self._feed_output_names)

/home/prateek_dl/anaconda3/lib/python3.5/site-packages/keras/engine/training.py in _standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix)
    142                             ' to have shape ' + str(shapes[i]) +
    143                             ' but got array with shape ' +
--> 144                             str(array.shape))
    145     return arrays
    146 

ValueError: Error when checking target: expected dense_14 to have shape (None, 1) but got array with shape (1956554, 3)

このエラーを解決するにはどうすればよいですか?それ(None,1)に応じsummary()て出力する必要があるときに、最終レイヤーが期待するのはなぜ(None,3)ですか?

どんな助けでも大歓迎です。

paththebug

categorical_entropy代わりにを使用してエラーを修正しましたsparse_categorical_entropy

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

T-SQL:クエリの出力を変数に保存しようとしているときに「スカラー変数を宣言する必要があります」

分類Dev

変数を比較するときに期待される結果を返さないカテゴリとしてのパンダのスケーリング

分類Dev

リストを印刷しようとしているときの問題

分類Dev

特に出力を取得しようとしているときのzshシェルの問題

分類Dev

カテゴリ変数がある場合に、特定のモデルの変数の応答を自動的にプロットするパッケージの関数を作成しようとしています

分類Dev

Railsを使用してphonegapアプリを作成しようとしているときの問題

分類Dev

Python matplotlibでカテゴリ変数を使用してx軸とy軸の目盛りを変更するにはどうすればよいですか?

分類Dev

ExcelでのSUMPRODUCTの問題:指定されたしきい値を超える平均減算の数をカウントしようとしています

分類Dev

Linqを使用して、対応するチケットでカテゴリのリストを抽出しようとしています

分類Dev

ggplotとrを使用してカテゴリ変数の分布を表示する

分類Dev

サブクエリを含むCHECKをSQLの関数に変換しようとしたときの問題

分類Dev

他の変数の値とシーケンスを使用して条件付きでカテゴリを作成する方法

分類Dev

R:knncatを使用してカテゴリ変数の分類を行うときにエラーが発生しました

分類Dev

Pythonの別のカテゴリ変数と比較したカテゴリ変数をプロットする

分類Dev

カルーセルスライダーのディスプレイから画像を表示しようとしているときに問題が発生する

分類Dev

投稿を通じてカテゴリにアクセスしようとすると、カテゴリの関係にエラーが発生します

分類Dev

Rで複数のダミー変数を1つのカテゴリ変数として収集する

分類Dev

WordPress:「get_categories()」を使用して特定のカテゴリのURLを取得しようとしています

分類Dev

1つの数値変数と1つのカテゴリ変数の積で回帰するGLMの問題

分類Dev

カテゴリの数を数えることによって、長いものから広いものに変換するためのきちんとした方法はありますか?

分類Dev

参照を追加しようとしているときのc#の循環依存の問題

分類Dev

モデルで逆シリアル化しようとしているときのNewtonsoft.Json.JsonSerializationExceptionの問題

分類Dev

単語のリストをRの文のリストと一致させようとしているときのパフォーマンスの問題

分類Dev

新しい値にポインタを割り当てようとしたときのメモリの問題

分類Dev

hookRender()とact()を使用して酵素でテストしているときにカスタムフックの同じ関数を使用する際の問題

分類Dev

表示するデータを送信しようとしているときのマッピングの問題

分類Dev

Leetcodeの一意のパスの問題を解決しようとしているときに数値が大きすぎる

分類Dev

Scrapyのエラーやその他のカウントを整数変数として出力するにはどうすればよいですか?

分類Dev

カテゴリ変数の分布をpandas.Seriesとして返します

Related 関連記事

  1. 1

    T-SQL:クエリの出力を変数に保存しようとしているときに「スカラー変数を宣言する必要があります」

  2. 2

    変数を比較するときに期待される結果を返さないカテゴリとしてのパンダのスケーリング

  3. 3

    リストを印刷しようとしているときの問題

  4. 4

    特に出力を取得しようとしているときのzshシェルの問題

  5. 5

    カテゴリ変数がある場合に、特定のモデルの変数の応答を自動的にプロットするパッケージの関数を作成しようとしています

  6. 6

    Railsを使用してphonegapアプリを作成しようとしているときの問題

  7. 7

    Python matplotlibでカテゴリ変数を使用してx軸とy軸の目盛りを変更するにはどうすればよいですか?

  8. 8

    ExcelでのSUMPRODUCTの問題:指定されたしきい値を超える平均減算の数をカウントしようとしています

  9. 9

    Linqを使用して、対応するチケットでカテゴリのリストを抽出しようとしています

  10. 10

    ggplotとrを使用してカテゴリ変数の分布を表示する

  11. 11

    サブクエリを含むCHECKをSQLの関数に変換しようとしたときの問題

  12. 12

    他の変数の値とシーケンスを使用して条件付きでカテゴリを作成する方法

  13. 13

    R:knncatを使用してカテゴリ変数の分類を行うときにエラーが発生しました

  14. 14

    Pythonの別のカテゴリ変数と比較したカテゴリ変数をプロットする

  15. 15

    カルーセルスライダーのディスプレイから画像を表示しようとしているときに問題が発生する

  16. 16

    投稿を通じてカテゴリにアクセスしようとすると、カテゴリの関係にエラーが発生します

  17. 17

    Rで複数のダミー変数を1つのカテゴリ変数として収集する

  18. 18

    WordPress:「get_categories()」を使用して特定のカテゴリのURLを取得しようとしています

  19. 19

    1つの数値変数と1つのカテゴリ変数の積で回帰するGLMの問題

  20. 20

    カテゴリの数を数えることによって、長いものから広いものに変換するためのきちんとした方法はありますか?

  21. 21

    参照を追加しようとしているときのc#の循環依存の問題

  22. 22

    モデルで逆シリアル化しようとしているときのNewtonsoft.Json.JsonSerializationExceptionの問題

  23. 23

    単語のリストをRの文のリストと一致させようとしているときのパフォーマンスの問題

  24. 24

    新しい値にポインタを割り当てようとしたときのメモリの問題

  25. 25

    hookRender()とact()を使用して酵素でテストしているときにカスタムフックの同じ関数を使用する際の問題

  26. 26

    表示するデータを送信しようとしているときのマッピングの問題

  27. 27

    Leetcodeの一意のパスの問題を解決しようとしているときに数値が大きすぎる

  28. 28

    Scrapyのエラーやその他のカウントを整数変数として出力するにはどうすればよいですか?

  29. 29

    カテゴリ変数の分布をpandas.Seriesとして返します

ホットタグ

アーカイブ