我有一個自定義的并行訓練函式,它采用成對的訓練和測驗資料,并為不同的資料構建不同的模型。問題是一個陣列似乎不能存盤以下型別的資料。如何創建可以保存以下型別資料的串列。
for i in range(0,5):
def create_dataset():
...
...
train_data = tf.data.Dataset.from_tensor_slices((x_train, y_train))
train_data = train_data.cache().shuffle(buffer_size).batch(batch_size).repeat()
test_data = tf.data.Dataset.from_tensor_slices((x_test, y_test))
test_data = test_data.batch(batch_size).repeat()
return train_data,test_data
td[i],vd[i] = create_dataset()
model = create_model() # create the model
datasets = [(td[0],vd[0]),(td[1],vd[1]),(td[2],vd[3]),(td[3],vd[3]),(td[4],vd[4])]
parallel_trainer(model, datasets)
并行訓練器的引數定義如下,
def parallel_trainer(model, XY_train_datasets : list[tuple])
像這樣定義我的“資料集”,回傳一個錯誤,
TypeError: 'type' object is not subscriptable
如何創建我的訓練資料和測驗資料的串列,以便解決此錯誤。解決方案可能很明顯,但我對此很陌生。
提前致謝。
uj5u.com熱心網友回復:
要為內置串列注釋型別,您需要使用 python >= 3.9
您可以通過使用List匯入的提示來解決此問題from typing import List
它認為你正在做的事情是輸入訪問索引list而不是注釋它的內容
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/401991.html
