python - tensorflow image_dataset_from_directory 中的 class_names 似乎是矩阵而不是向量
问题描述
我尝试将自定义图像数据输入到我的图像分类器中tensorflow.keras.preprocessing.image_dataset_from_directory()
,以根据子目录的名称自动进行图像标记。代码执行成功,但后来发现图像被标记为 [batch_size, 3] 矩阵,我也不确定数字 3 来自哪里(可能是通道?)。它影响了我的形象,无法通过这种方式进行标记。
这是我的代码:
import tensorflow.keras as tfk
datadir = '/content/rockpaperscissors'
train_ds = tfk.preprocessing.image_dataset_from_directory(
datadir,
labels = 'inferred',
label_mode = 'categorical',
batch_size = 10,
image_size = (150, 150),
shuffle = True,
seed = 123,
validation_split = 0.3,
subset = 'training'
)
val_ds = tfk.preprocessing.image_dataset_from_directory(
datadir,
labels = 'inferred',
label_mode = 'categorical',
batch_size = 10,
image_size = (150, 150),
shuffle = True,
seed = 123,
validation_split = 0.3,
subset = 'validation'
)
然后我检查了每批图像和标签数量的一致性
for image_batch, labels_batch in train_ds:
print(image_batch.shape)
print(labels_batch.shape)
break
它输出
(10, 150, 150, 3)
(10, 3)
有人知道如何解决这个问题吗?提前致谢
解决方案
推荐阅读
- python - Python:将具有 1 列的数据框转换为特定的 ndarray
- android-studio - Flutter pub 失败
- powerbi - Power BI 如何使用度量来获取 Max
- flutter - Flutter - 断言失败:第 61 行 pos 12:'_route == ModalRoute.of(context)':不正确
- python - 从 Pandas 数据框中选择组合
- android - 如何在nativescript angular中禁用android和ios中的屏幕截图
- java - Eclipse IDE 和 Spring Tools Suite 的 SQL 开发工具在哪里?为什么他们似乎在他们的市场上不可用?
- .net-core - 当我将 .Net Core 2.1 项目上传到 plesk 服务器时,找不到文件或目录
- ruby-on-rails - Ruby HABTM 关联循环
- r - 循环仅在 R 中的最后一次迭代中运行 - 循环参与者