Я создаю DataSet после EMNIST. Но когда я тренирую мою модель, кажется, что она застревает в бесконечном количестве l oop, и оперативная память заполняется за короткое время. Вот код Я печатаю свой набор данных и набор данных EMNIST, чтобы провести сравнение (BAL1 - мой DataSet):
print(tf.data.Dataset.from_tensor_slices(
collections.OrderedDict((name, ds.value) for name, ds in sorted(
f["examples"][BAL1.client_ids[0]].items()))))
example_dataset = emnist_train.create_tf_dataset_for_client(
emnist_train.client_ids[0]
)
print(example_dataset)
Вот результат:
<TensorSliceDataset shapes: OrderedDict([(label, ()), (pixels, (28, 28))]), types: OrderedDict([(label, tf.int32), (pixels, tf.float32)])>
<TensorSliceDataset shapes: OrderedDict([(label, ()), (pixels, (28, 28))]), types: OrderedDict([(label, tf.int32), (pixels, tf.float32)])>
, и именно эту часть я использую BAL1 для заменить EMNIST:
sample_clients = BAL1.client_ids[0:NUM_CLIENTS]
federated_train_data = make_federated_data(BAL1, sample_clients)
state, metrics = iterative_process.next(state, federated_train_data)
print('round 1, metrics={}'.format(metrics))
Моя модель может хорошо работать с EMNIST. Но я изменяю EMNIST на свой набор данных, «python3 Google Compute Engine» становится занятым. Я долго жду, но ничего не рассчитано, поэтому я должен прервать его.