按照本教程:
我在 Tensorflow 中有這個功能和標簽:
>>> play_features.head()
enemy_class player_class player_cards enemy_cards previous_player_placed_card
0 [0, 0, 0] [0, 0, 0] [0, 6, 12, 17, 0, 6, 12, 17, 0, 6, 12, 17] [0, 6, 12, 17, 0, 6, 12, 17, 0, 6, 12, 17] [12, 12, 12]
1 [0, 0, 0] [0, 0, 0] [0, 6, 12, 17, 0, 6, 12, 17, 0, 6, 12, 17] [0, 6, 12, 17, 0, 6, 12, 17, 0, 6, 12, 17] [-1]
>>> play_label.head()
0 [6, 6, 6]
1 [6]
play_model = tf.keras.Sequential([layers.Dense(64), layers.Dense(1)])
play_model.compile(loss = tf.losses.MeanSquaredError(), optimizer = tf.optimizers.Adam())
play_model.fit(play_features.to_numpy(), play_label.to_numpy(), epochs=10)
鑒于我有這個錯誤,我怎么能把這個模型放到 Tensorflow 中呢?
ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type numpy.ndarray).
uj5u.com熱心網友回復:
嘗試這個 :
import numpy as np
play_model = tf.keras.Sequential([layers.Dense(64), layers.Dense(1)])
play_model.compile(loss = tf.losses.MeanSquaredError(), optimizer = tf.optimizers.Adam())
play_model.fit(np.array(play_features,dtype =np.ndarray), np.array(play_label,dtype =np.ndarray), epochs=10)
uj5u.com熱心網友回復:
我想我現在明白了。
我應該將每個串列決議為像這樣的資料框列。所以對于這個問題,一個例子是:
def generate_expanded_dataframe(expand_df, count, prefix):
column_names = ['{}{}'.format(prefix, str(x 1)) for x in range(0, count)]
dataframe = pd.DataFrame()
dataframe[column_names] = pd.DataFrame(expand_df.to_list())
return dataframe
play_features_enemy_class = generate_expanded_dataframe(play_features['enemy_class'], 3, 'class')
>>> play_features_enemy_class.head()
class1 class2 class3
0 0 0 0
1 0 0 0
然后每個擴展串列都將像這樣擬合。
input_enemy_class = keras.layers.Input(shape=(3,))
... # One for each expanded list
merged = keras.layers.Concatenate(axis=1)([input_enemy_class , ...])
dense = keras.layers.Dense(2, input_dim=2, activation=keras.activations.sigmoid, use_bias=True)(merged)
output = keras.layers.Dense(1, activation=keras.activations.relu, use_bias=True)(dense)
model = keras.models.Model(inputs=[input_enemy_class, ...], output=output)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/323907.html
上一篇:Kerasmodel.fit()IndexError:串列索引超出范圍
下一篇:Keras錯誤:尺寸必須相等,但對于輸入形狀為[8,10]、[8,2]的“loss/output_1_loss/SquaredDifference”,尺寸為10和2
