1

我创建了一个DataSet以下 EMNIST。但是当我训练我的模型时,它似乎陷入了无限循环,并且 RAM 很快就会被填满。这是代码。我打印我的数据集和 EMNIST 数据集以进行比较(BAL1是我的数据集):

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 计算引擎”就会变得忙碌。即使等了很长时间,也没有任何计算,所以我不得不打断它。

4

0 回答 0