AutoKeras:类型错误:“NoneType”和“int”的实例之间不支持“<”

问题描述

在 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 (将#修改为@)

相关问答

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