【发布时间】:2021-06-10 17:09:51
【问题描述】:
我对机器学习还很陌生,我一直在尝试从 sentdex 教程中自学神经网络。我按照他关于使用循环神经网络预测各种加密货币价格的教程进行操作,并在更改 NumPy 数组和一些语法后成功了。现在我一直在尝试对其进行优化,因为我注意到通过调整学习率和网络层数会发生多么剧烈的过度拟合。
没有错误的代码是这个 https://colab.research.google.com/drive/1VNeRLeGBByEIdMVwXcbsOR8xjWwsHHoQ?usp=sharing
看起来我只是复制并粘贴了代码,但这只是因为我正在对代码进行故障排除,我只是将这个代码与我在教程中遵循的代码进行了引用,然后在我开始工作后继续使用这个代码。
我一直在尝试遵循 optuna 的教程和我发现的用于优化在线网络的代码,因此我尝试从这些来源添加它
https://github.com/optuna/optuna/blob/master/examples/tensorflow/tensorflow_eager_simple.py
https://github.com/optuna/optuna/blob/master/examples/keras/keras_integration.py
https://colab.research.google.com/drive/1-tANR7FopTX_ipAUCJmfZ2h_-iu3ljD_?usp=sharing
我想要做的是这个
https://colab.research.google.com/drive/1cgnz7XUwnhfBvsA9whCXKQ3PrRs_sddh?usp=sharing
这是我遇到错误的地方。起初,当我发这篇文章时,我被卡住了
ValueError:形状 (None, 1) 和 (None, 50, 2) 不兼容
但后来我记得在我遵循教程的那一个中,我需要一个没有循环层的循环层 return_sequences=True 在我继续密集层之前
所以我尝试添加另一个循环层而不返回序列,现在我得到了这个
ValueError:lstm_20 层的输入 0 与该层不兼容:预期 ndim=3,发现 ndim=2。收到的完整形状:(无,2)
我不完全确定从这里去哪里。我觉得我只是在做一些愚蠢的事情,一年来我一直在试图弄清楚如何在我自己的图像上使用教程中的卷积神经网络,因为我正在重塑而不是调整图片大小。我希望它是这样简单的。
感谢大家的帮助,自从我开始编程之旅以来,你们一直非常乐于助人。
【问题讨论】:
标签: python keras tensorflow2.0 recurrent-neural-network optuna