【问题标题】:TypeError: Tensors in list passed to 'values' of 'Pack' Op have types [string, float32] that don't all match. error from CSV tutorialTypeError:传递给“Pack”Op 的“values”的列表中的张量具有不完全匹配的类型 [string, float32]。 CSV 教程中的错误
【发布时间】:2020-04-01 23:07:57
【问题描述】:

我在 TensorFlow 中获得了用于训练等的自己的数据。我得到了Load CSV Data tutorial from TensorFlow on Colab,并更改了一些变量的配置以匹配我的数据。当我运行程序时,我得到了这个错误:

/tensorflow-2.0.0/python3.6/tensorflow_core/python/autograph/impl/api.py in wrapper(*args, **kwargs)
    235       except Exception as e:  # pylint:disable=broad-except
    236         if hasattr(e, 'ag_error_metadata'):
--> 237           raise e.ag_error_metadata.to_exception(e)
    238         else:
    239           raise

TypeError: in converted code:

    <ipython-input-15-ed03747f8311>:2 pack  *
        return tf.stack(list(features.values()), axis=-1), label
    /tensorflow-2.0.0/python3.6/tensorflow_core/python/util/dispatch.py:180 wrapper
        return target(*args, **kwargs)
    /tensorflow-2.0.0/python3.6/tensorflow_core/python/ops/array_ops.py:1165 stack
        return gen_array_ops.pack(values, axis=axis, name=name)
    /tensorflow-2.0.0/python3.6/tensorflow_core/python/ops/gen_array_ops.py:6304 pack
        "Pack", values=values, axis=axis, name=name)
    /tensorflow-2.0.0/python3.6/tensorflow_core/python/framework/op_def_library.py:499 _apply_op_helper
        raise TypeError("%s that don't all match." % prefix)

    TypeError: Tensors in list passed to 'values' of 'Pack' Op have types [string, float32] that don't all match.

块的整个输出可用here on Pastebin

教程中跑的块是:

packed_dataset = temp_dataset.map(pack)

for features, labels in packed_dataset.take(1):
  print(features.numpy())
  print()
  print(labels.numpy())

【问题讨论】:

    标签: python-3.x pandas numpy tensorflow tf.keras


    【解决方案1】:

    我解决了我的问题。

    我不小心忘记了我的第一列是不是数字的,所以我把它从列表中删除了。

    # Before Stuff
    After Stuff
    
    # SELECT_COLUMNS = ['sid', 'dist', 'microtime']
    SELECT_COLUMNS = ['dist', 'microtime']
    # DEFAULTS       = ['a_r_d_b_id', 0.0, 0.0]
    DEFAULTS       = [0.0, 0.0]
    temp_dataset = get_dataset(train_file_path, 
                               select_columns=SELECT_COLUMNS,
                               column_defaults = DEFAULTS)
    
    show_batch(temp_dataset)
    
    example_batch, labels_batch = next(iter(temp_dataset)) 
    
    def pack(features, label):
      return tf.stack(list(features.values()), axis=-1), label
    
    packed_dataset = temp_dataset.map(pack)
    
    for features, labels in packed_dataset.take(1):
      print(features.numpy())
      print()
      print(labels.numpy())
    

    【讨论】:

      猜你喜欢
      • 2020-11-21
      • 2020-03-30
      • 2022-11-30
      • 2016-07-12
      • 2021-05-04
      • 2021-01-06
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多