kdj指标参数设置大点,kdj指标参数设置精髓

  

  使用神经网络智能的超参数调整教程。   

  

  在本文结束时,您将能够使用微软的NNI库进行超参数调整。在我看来,它是深度学习最好的超参数优化库之一。它有一个网络界面来可视化你的实验。   

  

     

  

  NNI网络界面(作者)   

  

  引入深度学习模型需要建立一个框架,这个框架由不同的超级参数组成,比如学习速率、批量大小、层数、层内单元数等。因此,选择正确的超参数对于获得高参数的准确度分数是非常重要的。幸运的是,有一些策略可以找到超参数的最佳组合来最大化模型性能。   

  

  超参数优化技术有几种技术可用于寻找超参数的最佳组合。我将在下面列出其中的一些。   

  

  手动搜索――我们手动改变超级参数的值,并试图找到最佳组合。建议:模型太大,训练时间太长时应用。然而,这一过程既繁琐又耗时。在大多数情况下,不能保证找到最佳组合。   

  

  关联网格搜索 -搜索空间中的所有超参数组合。建议:在搜索空间较小或者模型不太大的情况下可以应用。它最终会找到超参数的最佳组合。然而,这需要太多的时间。例如,如果我们有一个由3个超参数组成的搜索空间,每个超参数有5个搜索值,我们将得到5=125个组合。   

  

  随机搜索-Try从搜索空间中随机选择超级参数。建议:可能很有效。当模型不需要太多训练,并且你有很好的计算资源时,你就可以应用它。但是,当搜索空间较大时,也很耗时。   

  

  树结构 Parzen 估计器 (TPE)-is是一种黑盒优化技术,它根据历史测量值按顺序建立模型以逼近超参数的性能。建议:如果你的计算资源有限或者你的模型太大,这是最好的选择方式之一。总的来说,它显示了很好的结果,并且比随机搜索要好。   

  

  在我们的训练中,我将使用TPE进行超级参数优化。   

  

  分类问题本文的目标不是构建一个复杂的体系结构。所以为了简单起见,我就在流行的FashionMNIST数据集上做一个简单的分类问题,这个数据集有十个类。我会更加关注超参数调优。因此,我将使用Pytorch官方教程中的代码,稍微修改并应用NNI。   

  

  打开命令行/终端,确保python已安装。否则,安装它。   

  

  Python-V # Windows Python 3-Version # UNIX/Mac OS创建虚拟环境Python-M Venv Hyper _ Env # Windows Python 3-M Venv Hyper _ Env # UNIX/Mac OS激活虚拟环境Hyper _ Env \ scripts \ Activate # Windows source Hyper _ Env/bin/Activate # UNIX/Mac OS安装Pytorch和torchvisionpip3安装torch vision torchaudio # Windows/Mac pip 3安装torch vision torch audio-extra-index-URL https://download.pytorch.org/whl/cpu # Linux安装nni点安装NNI一切就绪后,我们打开Visual Studio代码   

  

     

  

  作者的照片   

  

  然后选择hyper_env环境的python解释器(Ctrl Shift P)。   

  

     

  

  来源:https ://code . visual studio . com/docs/python/environments   

  

  注意:如果您看不到python解释器,请按Enter解释器路径.手动添加并导航(c : \ users \ gkere \ hyper _ env \ scripts \ python.exe)   

  

  文件mnist _ without _ nni . py-它用初始超参数训练基线模型。   

  

  Search.py和mnist _ nni . py——它搜索超级参数并查看Web界面可视化。   

  

  mnist _ bestparams . py-具有最佳搜索超参数的最终文件。   

  

  1.具有初始超参数(基线)的模型性能mnist _ without _ nni . py10 个 Epoch 后的结果:准确度:77.3%,平均损失:0.649939(初始模型准确度)   

  

  2.   

使用 NNI 进行超参数搜索第1步search.py在这个文件中,我们设置了实验的搜索空间和配置。

  

关于类型的注释:

  

选择:变量的值是选项之一。loguniform :变量值根据对数均匀分布从范围 中提取uniform : 变量值从一个范围 中均匀采样配置注意事项:

  

trial_command:在 Mac 上使用 python3,在 Windows 上使用 pythonmax_trial_number:要运行的实验数。一般来说,TPE 需要至少 20 次试验来预热。trial_gpu_number:当它大于零时需要 CUDA。第2步创建 mnist_nni.py ― 文件与 mnist_without_nni.py 相同,但有 4 行修改:

  

添加:

  

nni.report_intermediate_result(test_acc)nni.report_final_result(test_acc)参数 = nni.get_next_parameter()消除:

  

参数= {'batch_size':32,'hidden_size1':128,'hidden_size2':128,'lr':0.001,'动量':0.5}创建这些文件后,只需运行 search.py 文件并打开 localhost http://localhost:8080/

  

所有试验完成后,您将获得试验结果列表。

  

  

实验结果(作者摄)

  

在这张图片中,显示了一个排序的试验列表,这些试验代表了具有不同超参数优化的单独训练。

  

结果:找到最佳搜索的超参数参数 = {“batch_size”:32,“hidden_size1”:128,“hidden_size2”:256,“lr”:0.04585081360744873,“动量”:0.5363521578821588}

  

超参数(作者)

  

调试:如果试用失败,请查看查看试用错误(试用详情->选择失败试用->日志->查看试用错误)查看详细错误。如果试验成功,但默认指标没有显示数据,请检查测试集的准确度分数的数据类型,并确保它返回一个 float dtype。3. 具有最佳超参数的模型性能运行 mnist_bestparams.py -> 这与 mnist_without_nni.py 相同,但我只是将初始参数与最佳搜索参数交换。

  

哇!!!!!!!!!,结果令人着迷。

  

10 个 Epoch 后的结果:准确率:87.5%,平均损失:0.350102

  

比初始模型提高 10% ― 从 77.3% 到 87.5%。

  

结论构建深度学习/机器学习模型具有挑战性。主要任务之一是构建良好的架构,但超参数也是需要考虑的重要方面。结果表明,超参数优化比初始模型高出 10%。此外,如上所述,不同的优化技术各有优缺点。在本文中,我使用了 TPE,它是资源有限的大型模型的最佳方法之一。我喜欢 NNI 库,不仅因为它具有可以进行超参数调整的内置算法,还因为它有一个很好的 Web 界面来可视化你的实验结果。

相关文章