问题描述
在 Autkeras 模型中出错,而在 keras 模型中使用相同的数据
数据集示例
image label
train/class0/3.jpg 0
train/class1/2.jpg 1
train/class1/6.jpg 1
train/class1/4.jpg 1
train/class0/7.jpg 0
加载函数
def load(image_path,label):
img = tf.io.read_file(image_path)
img = tf.image.decode_jpeg(img,channels=3)
#img = tf.image.convert_image_dtype(img,tf.float32)
img = tf.cast(img,tf.float32) / 255.0
label = tf.cast(label,tf.int32)
return img,label
加载数据
bs=2
train_ds = tf.data.Dataset.from_tensor_slices((train_df.image,train_df.label)).map(load).batch(bs)
keras 模型
model = tf.keras.Sequential([
layers.InputLayer((224,224,3)),layers.Conv2D(32,3,activation='relu'),layers.MaxPooling2D(),layers.Flatten(),layers.Dense(128,layers.Dense(1,activation='sigmoid')
])
训练keras模型
model.compile(optimizer='adam',loss=tf.losses.BinaryCrossentropy(),metrics=['accuracy'])
model.fit(train_ds,epochs=1)
AutoKeras 模型
import autokeras as ak
clf = ak.ImageClassifier(overwrite=False,max_trials=1)
clf.fit(train_ds,epochs=1)
autokeras 模型中的错误日志
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/kerastuner/engine/hypermodel.py",line 104,in build
model = self.hypermodel.build(hp)
File "/usr/local/lib/python3.7/dist-packages/kerastuner/engine/hypermodel.py",line 64,in _build_wrapper
return self._build(hp,*args,**kwargs)
File "/usr/local/lib/python3.7/dist-packages/autokeras/graph.py",line 250,in build
outputs = block.build(hp,inputs=temp_inputs)
File "/usr/local/lib/python3.7/dist-packages/autokeras/engine/block.py",line 38,in _build_wrapper
return super()._build_wrapper(hp,**kwargs)
File "/usr/local/lib/python3.7/dist-packages/kerastuner/engine/hypermodel.py",**kwargs)
File "/usr/local/lib/python3.7/dist-packages/autokeras/blocks/wrapper.py",line 108,in build
output_node = self._build_block(hp,output_node,block_type)
File "/usr/local/lib/python3.7/dist-packages/autokeras/blocks/wrapper.py",line 77,in _build_block
return basic.resnetBlock().build(hp,output_node)
File "/usr/local/lib/python3.7/dist-packages/autokeras/engine/block.py",**kwargs)
File "/usr/local/lib/python3.7/dist-packages/autokeras/blocks/basic.py",line 688,in build
if input_node.shape[1] < min_size or input_node.shape[2] < min_size:
TypeError: '<' not supported between instances of 'nonetype' and 'int'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)