贪玩ML系列之CIFAR-10调参
调参方法:网格调参
tf.layers.conv2d()中的padding参数
取值“same”,表示当filter移出边界时,给空位补0继续计算。该方法能够更多的保留图像边缘信息。当图片较小(如CIFAR-10中的32*32)时,推荐使用该选项
取值“valid”,表示当filter移出边界时,舍弃该filter
tf.layers.conv2d()中的filters参数
一般取值:
一般越靠后的层,我们将它的filters取的更多一些,一是为了保留更多的信息,二是为了提取更多抽象的特征
tf.layers.conv2d()中的kernel_size参数和strides参数
tf.layers.max_pooling2d()中的pool_size参数和strides参数
kernel参数一般取7/5/3/1等,strides一般取3/2/1等
一般越靠后的层,我们将kernelsize取的越大一些,strides不变
tf.layers.dense()中的units参数
一般取值:1024/2048/4096
tf.train.AdamOptimizer()中的learning_rate参数
一般取值:0.001/0.01/0.1/0.0001
一般在训练开始时我们将learning_rate调大让模型加速下降,在训练一段时间后我们将learning_rate调小让模型更易收敛
epochs参数(批次数)
这个不确定,一般我们写一个脚本,判断当validation accuracy不断小幅度波动时停止
batch_size参数
一般取64/128/256
图片大的时候取小一点,防止炸内存(例如CIFAR-10中图片小,32*32,所以我们可以取大一点的例如256)
理论上取大一点好
一般取2的整数次方
keep_probability参数
一般默认0.5
conv_pooling的层数
随缘,深的能力强
贪玩ML系列之CIFAR-10调参的更多相关文章
- 小白学习Spark系列六:Spark调参优化
前几节介绍了下常用的函数和常踩的坑以及如何打包程序,现在来说下如何调参优化.当我们开发完一个项目,测试完成后,就要提交到服务器上运行,但运行不稳定,老是抛出如下异常,这就很纳闷了呀,明明测试上没问题, ...
- 机器学习系列:LightGBM 可视化调参
大家好,在100天搞定机器学习|Day63 彻底掌握 LightGBM一文中,我介绍了LightGBM 的模型原理和一个极简实例.最近我发现Huggingface与Streamlit好像更配,所以就开 ...
- 贪玩ML系列之一个BP玩一天
手写串行BP算法,可调batch_size 既要:1.输入层f(x)=x 隐藏层sigmoid 输出层f(x)=x 2.run函数实现单条数据的一次前馈 3.train函数读入所有数据for循环处理 ...
- Auto ML自动调参
Auto ML自动调参 本文介绍Auto ML自动调参的算法介绍及操作流程. 操作步骤 登录PAI控制台. 单击左侧导航栏的实验并选择某个实验. 本文以雾霾天气预测实验为例. 在实验画布区,单击左上角 ...
- 【新人赛】阿里云恶意程序检测 -- 实践记录11.10 - XGBoost学习 / 代码阅读、调参经验总结
XGBoost学习: 集成学习将多个弱学习器结合起来,优势互补,可以达到强学习器的效果.要想得到最好的集成效果,这些弱学习器应当"好而不同". 根据个体学习器的生成方法,集成学习方 ...
- 调参、最优化、ml算法(未完成)
最优化方法 调参方法 ml算法 梯度下降gd grid search lr 梯度上升 随机梯度下降 pca 随机梯度下降sgd 贝叶斯调参 lda 牛顿算法 knn 拟牛顿算法 kmeans ...
- 【新人赛】阿里云恶意程序检测 -- 实践记录10.27 - TF-IDF模型调参 / 数据可视化
TF-IDF模型调参 1. 调TfidfVectorizer的参数 ngram_range, min_df, max_df: 上一篇博客调了ngram_range这个参数,得出了ngram_range ...
- 【新人赛】阿里云恶意程序检测 -- 实践记录10.20 - 数据预处理 / 训练数据分析 / TF-IDF模型调参
Colab连接与数据预处理 Colab连接方法见上一篇博客 数据预处理: import pandas as pd import pickle import numpy as np # 训练数据和测试数 ...
- CatBoost算法和调参
欢迎关注博主主页,学习python视频资源 sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?co ...
随机推荐
- iOS多线程与网络开发之NSURLCache
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. // 2 // ViewController.m 3 // NSURLCacheDemo 4 // 5 // Created by haomengzhu ...
- vs2008、vs2012添加公共头文件
当我们使用第三方库(opencv.boost)的时候,往往需要把它们的头文件和库文件添加到工程中去,然而如果每次新建工程都添加,那就太笨了,下面介绍方法可以让每个新建的工程都默认添加设置好的头文件和库 ...
- Elasticsearch分析聚合
原文链接:http://blog.csdn.net/napoay/article/details/53484730
- PL/SQL Developer导入、导出表结构和表数据
在表的所有者不能改变的情况下,可以使用导入导出表结构和表数据的方法,将表移动到你想要的所有者下(注:特别是建立表的时候如果以sysdba的身份登录的话,所有表的所有者都为sys,此时会对你用c#访问数 ...
- linux学习笔记31--命令route和routetrace
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...
- ES博客链接
https://blog.csdn.net/laoyang360/article/details/78290484
- C++ STL标准模板库(vector)
//vector的使用 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<vector> using na ...
- python 2个版本如何共存
我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面.这个启动器允许我们指定使用Python2还是 ...
- 【Raspberry pi】python ide-spyder
sudo apt-get install spyder 简单 明了
- push certificate
developer_identity.cer <= download from Applemykey.p12 <= Your private key openssl x509 -in de ...