cderinbogaz / inpredo

Inpredo is a Deep Learning tool which looks into financial charts and predicts stock movements.
https://towardsdatascience.com/making-a-i-that-looks-into-trade-charts-62e7d51edcba
MIT License
159 stars 93 forks source link

ValueError: Unknown metric function:val_acc or #15

Open moozgoos opened 3 years ago

moozgoos commented 3 years ago

With Kreas 2.2.4 saving checkpoint in this form:

checkpoint = ModelCheckpoint(target_dir, monitor='val_acc', verbose=1, save_best_only=True, mode='max')

is not working. It's giving error:

Traceback (most recent call last):
  File "c:\Users\pjasz\source\repos\inpredo-master\src\train-binary.py", line 76, in <module>
    model.compile(loss='categorical_crossentropy',
  File "C:\Users\pjasz\AppData\Local\Programs\Python\Python38\lib\site-packages\keras\engine\training.py", line 451, in compile
    handle_metrics(output_metrics)
  File "C:\Users\pjasz\AppData\Local\Programs\Python\Python38\lib\site-packages\keras\engine\training.py", line 408, in handle_metrics
    metric_fn = metrics_module.get(metric)
  File "C:\Users\pjasz\AppData\Local\Programs\Python\Python38\lib\site-packages\keras\metrics.py", line 78, in get
    return deserialize(str(identifier))
  File "C:\Users\pjasz\AppData\Local\Programs\Python\Python38\lib\site-packages\keras\metrics.py", line 67, in deserialize
    return deserialize_keras_object(config,
  File "C:\Users\pjasz\AppData\Local\Programs\Python\Python38\lib\site-packages\keras\utils\generic_utils.py", line 164, in deserialize_keras_object
    raise ValueError('Unknown ' + printable_module_name +
ValueError: Unknown metric function:val_acc

Shouldn't we use acc instead?

metric = 'acc'
model.compile(loss='categorical_crossentropy',
                      optimizer=optimizers.rmsprop(),
                      metrics=[metric])
checkpoint = ModelCheckpoint(filepath=target_dir + 'weights-improvement-{epoch:02d}-{acc:.2f}.hdf5', monitor=metric,
                    verbose=2, save_best_only=True, mode='max')
cderinbogaz commented 3 years ago

Hi @moozgoos feel free to create a pull request if you like. I haven't checked the project for a while but this can be caused by a dependency change.