tensorflow - 图像分类问题中的 KerasTuner
问题描述
我正在做图像分类。我正在尝试使用经典方法(GridSearch、Pipeline)来寻找最佳参数,但是当我使用它导入图像时,ImageDataGenerator
它的效果并不好。
在寻找解决方案的过程中,我发现KerasTuner
(以前从未听说过)。我在网站上找到的代码示例似乎并不难实现。所以我试了一下。但是仅进行培训评估(不是任何测试数据的结果)花费的时间太长。所以我想也许我在脚本中做错了什么(见下文)
它已经在 2080Ti 上运行了第二天,我什至没有val_accuracy
. 因为accuracy
我已经拥有了,老实说,这很棒0.9736
。loss:0.0604
但要花一生的时间才能得到真正的结果吗?
我的数据集包含 12000 张用于训练的图像和 1600 张用于测试的图像。(4个班)
from kerastuner.applications import HyperResNet
from kerastuner.tuners import Hyperband
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(
rescale=1./255,
horizontal_flip=True
)
# augmentation configuration for testing, only rescale
test_datagen = ImageDataGenerator(rescale=1./255)
batch_size = 128
train_generator = train_datagen.flow_from_directory(
'/media/data/working_dir/categories/readytotest/train',
target_size=(240, 320),
color_mode="grayscale",
batch_size=batch_size,
shuffle=True,
class_mode='categorical')
validation_generator = test_datagen.flow_from_directory(
'/media/data/working_dir/categories/readytotest/test',
target_size=(240, 320),
color_mode="grayscale",
batch_size=batch_size,
shuffle=True,
class_mode='categorical')
hypermodel = HyperResNet(input_shape=(240, 320, 1), classes=4)
tuner = Hyperband(
hypermodel,
objective='val_accuracy',
max_epochs=5,
directory='/media/data/working_dir/scr/models/',
project_name='first_kt')
print("SUMMARY OF THE TASK")
tuner.search_space_summary()
# perform analyses
N_EPOCH_SEARCH = 5
tuner.search(train_generator,
epochs=N_EPOCH_SEARCH,
validation_data=validation_generator)
``
解决方案
推荐阅读
- python - What is the best clean way to handle three datasets with different size for a training neural net?
- css - ViewEncapsulation changes css styles specificity(weight)
- scala - 内存中相同值的列表/元组
- javascript - Disable router link until the submit button is clicked
- python - No OpenCL / HSA support for rx 470 / vega 8 on Ubuntu 18.04 using ROCM
- java - 如何从api获取天气数据?
- php - 为什么除了 Laravel 中的 Ajax 之外,我无法通过普通浏览器请求读取 cookie 的值?
- facebook-opengraph - 在 Facebook 上分享之前动态更改打开的图表标题
- typescript - 如何确保传递给函数的参数是打字稿中类的实例?
- stanford-nlp - CoreNLP 路线图