【问题标题】:How to access labels with TFF如何使用 TFF 访问标签
【发布时间】:2022-06-10 20:37:58
【问题描述】:

我正在关注这个Image classification tutorialText Generation tutorial。因此,我已经在我的数据集上通过微调实现了迁移学习,但我不知道在进行预测时如何访问标签。 我将数据转换为正确的形状 (tf.data.Dataset),因此我使用 Keras 模型进行预测。例如,如果我只想预测一个标签:keras_model.predict(federated_train_data[0])

federated_train_data 由以下元素组成:

(TensorSpec(shape=(None, 32, 32, 3), dtype=tf.float32, name=None),
 TensorSpec(shape=(None,), dtype=tf.int64, name=None))

第一个张量是图像形状,第二个表示编码标签。

我的目标是说明图像的真实标签和预测标签,例如:(Predicted classes)

TLDR:有没有一种方法可以在拥有 tf.data.Dataset 时只访问标签?

【问题讨论】:

    标签: python-3.x tensorflow tensorflow-federated federated-learning federated


    【解决方案1】:

    如果federated_train_datatf.data.Dataset,其.element_spec 属性返回:

    (TensorSpec(shape=(None, 32, 32, 3), dtype=tf.float32, name=None),
     TensorSpec(shape=(None,), dtype=tf.int64, name=None))
    

    然后可以迭代数据集:

    # Get the first batch
    first_batch = next(iter(federated_train_data)) 
    
    # Examine all batches
    for batch in federated_train_data:
      print(batch)
    

    .element_spec我们知道每个批次都是(features, labels)的2元组,所以我们可以使用第二个索引来获取标签:

    labesl = first_batch[1]
    
    # Or unpack
    features, labels = first_batch
    

    将此与模型预测相结合:

    for batch in federated_train_data:
      features, labels = batch
      predictions = keras_model.predict(features)
      # Now we have all three pieces: features, labels, and predictions.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 1970-01-01
      相关资源
      最近更新 更多