如何使用 image_dataset_from_directory 为 AutoKeras ImageRegressor 构建 tf.Data.Dataset?

问题描述

如何为 AutoKeras ImageRegressor (https://autokeras.com/tutorial/image_regression/) 构建 tf.Data.Dataset?

我使用的一些步骤来自页面https://autokeras.com/tutorial/load/

我可以通过这种方式从单个文件夹加载图像:

batch_size = 32
img_height = 180
img_width = 180

data_dir = "/data"

x_train = ak.image_dataset_from_directory(
    data_dir,validation_split=0,subset="training",seed=123,image_size=(img_height,img_width),batch_size=batch_size)

然后我可以使用 numpy 加载相应的响应值(通过一些额外的处理来为每个图像提供一个具有 1 个值的 numpy 数组):

y_train = np.genfromtxt("data.txt",delimiter='')

然后我可以在获取 numpy 数组的子集的同时使用 take 和 skip 来分割生成的数据集:

train_size = int(0.8 * n_rows)
val_size = int(0.2 * n_rows)

x_train_sm = x_train.take(train_size)
x_val_sm = x_train.skip(train_size)  

y_train_sm = y_train[0:train_size]
y_val_sm = y_train[train_size:]

但是运行回归拟合给了我这个问题:

reg = ak.ImageRegressor(max_trials=max_trials,metrics=['mean_squared_error'],overwrite=False)
reg.fit(x_train_sm,y_train_sm,validation_split=0.2,batch_size=batch_size)

错误信息:

ValueError: Expected y to be None when x is tf.data.Dataset.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...