我正在将一些最初使用 JPEG 作为输入的代码转换为使用 Matlab MAT 文件。该代码包含以下行:
train_dataset = tf.data.Dataset.list_files(PATH + 'train/*.mat')
train_dataset = train_dataset.shuffle(BUFFER_SIZE)
train_dataset = train_dataset.map(load_image_train)
Run Code Online (Sandbox Code Playgroud)
如果我循环遍历数据集并在 map() 之前 print() 每个元素,我会得到一组文件路径可见的张量。
然而,在 load_image_train 函数中,情况并非如此, print() 的输出是:
Tensor("add:0", shape=(), dtype=string)
我想使用 scipy.io.loadmat() 函数从我的 mat 文件中获取数据,但它失败了,因为路径是张量而不是字符串。dataset.map() 做了什么似乎使文字字符串值不再可见?如何提取字符串以便将其用作 scipy.io.loadmat() 的输入?
如果这是一个愚蠢的问题,对于 Tensorflow 来说相对较新并且仍在尝试理解,我深表歉意。我能找到的很多相关问题的讨论仅适用于 TF v1。感谢您的任何帮助!