cnn常用参数记录

本文详细解释了机器学习中epoch、batch_size和iteration的概念及其相互关系,帮助读者更好地理解这些基本参数如何影响模型训练过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载地址:http://www.cnblogs.com/lutingting/p/5252589.html

1. epoch

在代码中经常见到n_epochs这个参数,该参数到底是什么意思呢?答案如下:

在一个epoch中,所有训练集数据使用一次

one epoch = one forward pass and one backward pass of all the training examples

2. batch_size

一般情况下,一个训练集中会有大量的samples,为了提高训练速度,会将整个training set分为n_batch组,每组包含batch_size个samples

即:整个数据集samples个数 = batch_size * n_batch

batch size = the number of training examples in one forward/backward pass. The higher the batch size, the more memory space you'll need.

3. iterations

看到iteration和epoch这两个参数,很是困惑,总是分不清楚它们之间到底什么区别,这两个参数是完全不同的概念

每次iteration进行的工作为:利用某个batch的samples对model进行训练

number of iterations = number of passes, each pass using [batch size] number of examples. To be clear, one pass = one forward pass + one backward pass (we do not count the forward pass and backward pass as two different passes)

具体地

# epoch个数
n_epochs = 100
# 样本总个数
numSamples = 100 000
# 要将样本分割为n_batch组
n_batch = 10
# 每个batch包含的samples
batch_size = numSamples / n_batch 
# 尅是进行训练
iterations = 0
for i in range(n_epochs ):
    for j in range (n_batch):
       #利用第j组batch进行training
       train (j) 
       # iterations个数加1
       iterations = iterations  +1     

可见:iterations = epoch * n_batch

即,每个epoch进行n_batch次training,每次training,利用batch_size个samples




### CNN 和 GRU 超参数配置及调优方法 #### 卷积神经网络(CNN)超参数设置 对于卷积层而言,主要关注的是卷积核大小以及卷积核的数量。卷积核大小决定了感受野范围内的局部连接模式;而更多的卷积核意味着可以学习到更多种类的特征表示。 - **卷积核大小**:通常情况下可以选择较小尺寸如 \(3 \times 3\) 或者 \(5 \times 5\)[^1]。 - **卷积核数量**:这取决于具体应用场景下的复杂度需求,一般可以从几十个开始尝试增加直到几百个不等。 ```python import tensorflow as tf model = tf.keras.models.Sequential([ tf.keras.layers.Conv2D(filters=64, kernel_size=(3, 3), activation='relu', input_shape=(height, width, channels)) ]) ``` #### 循环神经网络(GRU)超参数设定 针对GRU部分,则需考虑其层数与每层内部隐藏单元数目: - **GRU层数**:单层结构简单有效但对于某些复杂的序列建模可能不够充分,因此有时也会采用多层堆叠的方式增强表达能力。 - **隐藏单元数**:此数值影响着记忆容量和计算成本之间的平衡点,在实践中往往依据实际问题规模灵活调整。 ```python model.add(tf.keras.layers.GRU(units=128, return_sequences=True)) # 双向GRU可替换为Bidirectional wrapper ``` #### 调优策略概述 为了找到最优解空间中的理想位置,常用的方法有三种——网格搜索(Grid Search),随机搜索(Randomized Search)还有基于概率模型指导路径探索效率更高的贝叶斯优化(Bayesian Optimization)。 这些技术允许自动遍历不同组合并记录下对应的表现情况从而帮助决策最终采纳哪一组作为正式部署版本前的最佳实践方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值