一点背景知识,我正在加载大约 60,000 张图像以使用 colab 来训练 GAN。我已经将它们上传到 Drive 并且目录结构包含root
. 我将它们加载到 colab 如下:
root = "drive/My Drive/data/images"
root = pathlib.Path(root)
list_ds = tf.data.Dataset.list_files(str(root/'*/*'))
for f in list_ds.take(3):
print(f.numpy())
Run Code Online (Sandbox Code Playgroud)
这给出了输出:
b'drive/My Drive/data/images/folder_1/2994.jpg'
b'drive/My Drive/data/images/folder_1/6628.jpg'
b'drive/My Drive/data/images/folder_2/37872.jpg'
Run Code Online (Sandbox Code Playgroud)
我进一步处理它们如下:
def process_path(file_path):
label = tf.strings.split(file_path, '/')[-2]
image = tf.io.read_file(file_path)
image = tf.image.decode_jpeg(image)
image = tf.image.convert_image_dtype(image, tf.float32)
return image#, label
ds = list_ds.map(process_path)
BUFFER_SIZE = 60000
BATCH_SIZE = 128
train_dataset = ds.shuffle(BUFFER_SIZE).batch(BATCH_SIZE)
Run Code Online (Sandbox Code Playgroud)
每个图像的大小128x128
。现在遇到问题,当我尝试在 colab 中查看批处理时,执行将永远持续下去,永不停止,例如,使用以下代码:
for batch in train_dataset.take(4):
print([arr.numpy() for arr in …
Run Code Online (Sandbox Code Playgroud) 我正在学习tensorflow,在各种示例中,我已经看到了从我们使用的logit获得预测tf.argmax(logits, 1)
。根据我所理解的logits
是概率值,tf.argmax()
并将给出指定轴上最大值的索引。但是,如何使用索引代替概率值。我们不应该将最大值用作预测吗?
但是我已经看到上面的代码可以正常工作。我确定我在这里缺少一些基础知识。有人可以举例说明吗?
我正在学习 Pandas 中的管道和功能联合。我了解管道的工作,这有助于将一系列转换应用于给定的数据集。但是,我对功能联合感到困惑。我已经阅读了文档,其中说变压器是并行应用的,然后将结果连接起来。
我对此有疑问,如果我们将所有转换器应用于整个数据集或不同的转换器仅应用于选定的特征?如果到整个数据集,我们如何连接结果?另外,是否有任何我应该使用 FeatureUnion 的一般用例?