<commit_before>---
layout:post
title:caffe
---
solver是caffe中一个很重要的概念，简单来说solver通过不断 forward和backward计算梯度，用计算得到的梯度对模型进行优化，更新深度神经网络各层的参数，使得loss最小以使模型更好地拟合数据。

1. solver的作用及分类
---------------

在caffe中封装的有以下几种solver：

 - Stochastic Gradient Descent (type: "SGD")
 - AdaDelta (type: "AdaDelta")
 - Adaptive Gradient (type: "AdaGrad")
 - Adam (type: "Adam")
 - Nesterov's Accelerated Gradient (type: "Nesterov")
 - RMSprop (type: "RMSProp")

在以上solver中比较常用的Stochastic Gradient Descent（SGD），也即随机梯度下降，其他的solver我还暂时没有用到过。

solver主要进行以下工作：

 1. 定义并生成一个网络用来训练和测试
 2. 反复迭代对网络进行forward和backward计算并更新网络参数
 3. 根据给定参数定期对训练中的网络进行测试评估
 4. 根据所给参数在训练过程中定期保存网络权重<commit_msg>add logo<commit_after>---
layout: post
title: caffe
description: test
cafegory: deep learning
---
solver是caffe中一个很重要的概念，简单来说solver通过不断 forward和backward计算梯度，用计算得到的梯度对模型进行优化，更新深度神经网络各层的参数，使得loss最小以使模型更好地拟合数据。

1. solver的作用及分类
---------------

在caffe中封装的有以下几种solver：

 - Stochastic Gradient Descent (type: "SGD")
 - AdaDelta (type: "AdaDelta")
 - Adaptive Gradient (type: "AdaGrad")
 - Adam (type: "Adam")
 - Nesterov's Accelerated Gradient (type: "Nesterov")
 - RMSprop (type: "RMSProp")

在以上solver中比较常用的Stochastic Gradient Descent（SGD），也即随机梯度下降，其他的solver我还暂时没有用到过。

solver主要进行以下工作：

 1. 定义并生成一个网络用来训练和测试
 2. 反复迭代对网络进行forward和backward计算并更新网络参数
 3. 根据给定参数定期对训练中的网络进行测试评估
 4. 根据所给参数在训练过程中定期保存网络权重
{'fraction_non_alphanumeric': 0.1204460966542751, 'fraction_numerical': 0.007434944237918215, 'mean_word_length': 5.565853658536585, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6856154', 'n_tokens_mistral': 792, 'n_tokens_neox': 870, 'n_words': 93}