1. 程式人生 > >DeepNet深度學習框架的使用

DeepNet深度學習框架的使用

上一章,我們介紹了在Linux環境下DeepNet框架的搭建,這一章,我們講講DeepNet的使用。

以/deepnet-master/deepnet/examples中的rbm為例:

cd到/deepnet-master/deepnet/examples/rbm目錄中,看到有4個檔案:eval.pbtxt,model.pbtxt,train.pbtxt以及runall.sh。

train.pbtxt

optimizer : CD
stopcondition {
  all_processed: false
  steps: 100000
}
train: true 
batchsize: 100
data_proto: "/ais/gobi3/u/nitish/mnist/mnist.pbtxt"
eval_after: 1000
checkpoint_after: 10000
checkpoint_directory: "/ais/gobi3/u/nitish/mnist/models"
show_after: 1000
randomize: true
optimizer:RBM使用G.E.Hinton提出的對比散度(Contrastive Divergence, CD)優化演算法。

stopcondition:訓練的停止條件,all_processed為true時表示將整個訓練集訓練完一遍,即一個epoch;all_processed為false時,steps表示訓練的步數,在這裡即為100000。

batchsize:模型訓練時每一個mini-batch的大小。

data_proto:資料集的路徑。

eval_after:每隔1000次對訓練的網路進行驗證。

checkpoint_after:每隔10000次記錄一次模型,存在checkpoint_directory的路徑中。

show_after:每隔1000次,在螢幕上顯示一次訓練結果。

randomize:將資料集隨機打亂。

eval.pbtxt

stopcondition {
  all_processed: true
}
batchsize: 100
引數的意義和訓練過程一樣,不過這裡代表驗證過程。

model.pbtxt

name: "mnist_rbm"
model_type: DBM
模型的名稱和型別,RBM即為一層的DBM,模型的型別還有DBN,FEED_FORWARD_NET,。模型中一般還包含三個部分:hyperparams、layer和edge。
hyperparams {
  base_epsilon: 0.01
  epsilon_decay : NONE
  epsilon_decay_half_life : 5000
  initial_momentum : 0.5
  final_momentum : 0.9
  momentum_change_steps : 3000
  sparsity : false
  sparsity_target : 0.1
  sparsity_cost : 0.01
  sparsity_damping : 0.9
  dropout : false
  dropout_prob : 0.5
  apply_weight_norm : false
  weight_norm : 3
  apply_l2_decay: true
  l2_decay: 0.001
  activation: LOGISTIC
  gibbs_steps: 1
}
這部分是模型的基本引數。

base_epsilon:訓練的基本學習率。

epsilon_decay:學習率的衰減,這裡有三種類型,NONE,表示不衰減;INVERSE_T,即學習率epsilon=base_epsilon/(1+step/epsilon_decay_half_life);EXPONENTIAL,即學習率epsilon= base_epsilon/2^(step/epsilon_decay_half_life)。

momentum:是訓練過程中提高學習速度的一種方法。

sparsity:sparsity_target代表了隱層原子被啟用的平均概率;sparsity_cost:計算sparsity懲罰項時sparsity梯度的係數;sparsity_damping:計算sparsity均值時的阻尼係數。G.E.Hinton曾提到sparsity_target設定的範圍為0.01到0.1之間。

dropout:作用防止過擬合,dropout_prob為隱層原子被dropout的概率,一般設定為0.5。

weight_norm:將weight標準化。

l2_decay:代價函式中關於weight的懲罰函式,保證weight的值不會太大。在G.E.Hinton的文章中,該係數通常設定為0.01到0.00001。

activation:模型的啟用函式,這裡有LOGISTIC、TANH、RECTIFIED_LINEAR、LINEAR、SOFTMAX等。

gibbs_steps:gibbs取樣的步長。

layer {
  name: "hidden1"
  dimensions: 1024
  shape: 16
  shape: 16
  param {
    name: "bias"
    initialization: CONSTANT
  }
  performance_stats {
    compute_sparsity: true
  }
}
layer一般包含了該層的名字、維度以及初始化等資訊,程式碼比較簡單,在這裡不進行描述。
edge {
  node1: "input_layer"
  node2: "hidden1"
  directed: false
  receptive_field_width: 28
  display_rows: 16
  display_cols: 16
  param {
    name: "weight"
    initialization: DENSE_GAUSSIAN_SQRT_FAN_IN
    sigma : 0.01
  }
}
edge為兩層之間的連線,主要包含了連線權重weight的資訊,程式碼比較簡單,在這裡不進行描述。

runall.sh

train_deepnet='python ../../trainer.py'
${train_deepnet} model.pbtxt train.pbtxt eval.pbtxt
在擁有了eval.pbtxt,model.pbtxt,train.pbtxt三個檔案之後,就可以使用trainer.py來訓練模型了。

我們介紹了這四個檔案的基本內容,瞭解了DeepNet的使用方法,這樣我們就可根據我們的需要來修改四個檔案的內容,來訓練我們需要的模型了。

相關推薦

DeepNet深度學習框架的使用

上一章,我們介紹了在Linux環境下DeepNet框架的搭建,這一章,我們講講DeepNet的使用。 以/deepnet-master/deepnet/examples中的rbm為例: cd到/deepnet-master/deepnet/examples/rbm目錄中,看

ubuntu16.0.4環境下搭建DeepNet深度學習框架

  四月份的時候就已經搭建了一次Deepnet框架,只是當時也沒有執行成功例子就那樣擱淺了。現在是因為發現神經網路利用hadoop並行不太可能,就果斷放棄搞了近一個月的hadoop,轉向GPU了。但是學習hadoop搭建環境也是搞了大概兩天吧,後來也是看視訊學習等,現在至少

從TensorFlow到PyTorch:九大深度學習框架哪款最適合你?

方法 愛好 board ebo 部分 速度 智能 這也 解釋器 開源的深度學習神經網絡正步入成熟,而現在有許多框架具備為個性化方案提供先進的機器學習和人工智能的能力。那麽如何決定哪個開源框架最適合你呢?本文試圖通過對比深度學習各大框架的優缺點,從而為各位讀者提供一個參考。你

Caffe 深度學習框架上手教程

att per share caff 但是 fill ... post 高效 Caffe 深度學習框架上手教程 blink 15年1月 Caffe (CNN, deep learning) 介紹 Caffe -----------Convo

Ubuntu 16.04 調試caffe深度學習框架

ima 去掉 request 顯卡 第一個 bsp ubuntu 百度 and 關於caffe的安裝百度,教程滿天飛,不過有一點提一下,雙系統 雙顯卡 (筆記本)在Ubuntu安裝英偉達顯卡的時候圖形界面可能會掛掉,這個問題在Ubuntu 16.04得到初步解決,網上有一篇

深度學習框架哪家強:TensorFlow?Caffe?MXNet?Keras?PyTorch?

能夠 平臺 false 對稱 寫到 python form 演示 有一個   深度學習框架哪家強:TensorFlow?Caffe?MXNet?Keras?PyTorch?對於這幾大框架在運行各項深度任務時的性能差異如何,各位讀者不免會有所好奇。    微軟數據科學家Ili

為什麽相比芯片,我們更在意深度學習框架的中國化?

開發平臺這兩天美國宣布對中興進行封鎖,可謂在科技圈掀起了從上到下的一股龍卷風。4月16日美國商務部發布命令,禁止美國企業向中興通訊銷售元器件,時間長達7年。假如這一紙禁令真正生效,意味著中興通訊旗下全產業鏈所依靠的芯片等核心元件失去獲取渠道,基本意味著龐大的中興通訊將面臨無法繼續經營的最壞可能。中興通訊股價隨

Ubuntu 搭建深度學習框架 keras

all bash VC 使用 learning 是否 技術 ESS image 深度學習框架Keras是基於Tensorflow的所以,安裝keras需要安裝Tensorflow: 1. 安裝教程主要參考於兩個博客的教程: https://www.cnblogs.c

深度學習框架Keras安裝

orf 語言 mage 版本 win color install Beginner inner 本文主要參考:https://blog.csdn.net/qingzhuochenfu/article/details/51187603 前提:Keras是Python語

TensorFlow筆記(7)-----實戰Google深度學習框架----隊列與多線程

一起 width nbsp stop 之前 圖片 第一個 queue enqueue 一、創建一個隊列: FIFOQueue:先進先出 RandomShuffleQueue:會將隊列中的元素打亂,每次出列操作得到的是從當前隊列所有元素中隨機選擇的一個。 二、操作一個隊列的函

caffe - windows上配置 C++ 開發環境 & ubuntu上安裝其它深度學習框架

過程 ubuntu 解決方案 ubun 核心 conda pytho 配置 caff windows 上配置C++開發環境的過程: ubuntu上配置caffe、tensorflow、mxnet的過程 基於 anaconda2 1、caffe pip不是

《Tensorflow 實戰Google深度學習框架》PDF版

roc mage com size 深度學習框架 pdf 深度學習 ext flow 鏈接:https://pan.baidu.com/s/1Jf8LWJXWUnfpNly0KagVMA《Tensorflow 實戰Google深度學習框架》PDF版

ubuntu16.04下安裝深度學習框架

fault star nac config 文件的 call bsp mirrors tor 1.Pytorch 下載anaconda,最新的即可,https://www.anaconda.com/download/#linux ,命令:sh Anaconda3-5.3.

《TensorFlow實戰Google深度學習框架 (第2版) 》中文版PDF和源代碼

分享 flow shadow 源代碼 ges ado text href 第2版 下載:https://pan.baidu.com/s/1aD1Y2erdtppgAbk8c63xEw 更多最新的資料:http://blog.51cto.com/3215120 《Tensor

動態分配多工資源的移動端深度學習框架

與雲相比,移動系統受計算資源限制。然而眾所周知,深度學習模型需要大量資源 。為使裝置端深度學習成為可能,應用程式開發者常用的技術之一是壓縮深度學習模型以降低其資源需求,但準確率會有所損失。儘管該技術非常受歡迎,而且已被用於開發最先進的移動深度學習系統,但它有一個重大缺陷:由於應用程式開發者獨立開發自己的應

深度學習框架Tensorflow學習與應用(5到8)

五. 03-1 迴歸 # coding: utf-8 # In[2]: import tensorflow as tf import numpy as np import matplotlib.pyplot as plt # In[3]: #使用numpy生成200個隨機點 x_

TensorFlow-實戰Google深度學習框架 筆記(上)

當我 日誌 不一定 rain 如何 validate .config 存儲 構建 TensorFlow TensorFlow 是一種采用數據流圖(data flow graphs),用於數值計算的開源軟件庫。在 Tensorflow 中,所有不同的變量和運算都是儲存在計算圖

Facebook宣佈釋出深度學習框架 PyTorch 1.0開發者預覽版

今日,Facebook 宣佈釋出深度學習框架 PyTorch 1.0 開發者預覽版,包括一些列工具和整合,使其與 Google Cloud、AWS、Azure 的機器學習服務更為相容。 ARM、Nvidia、高通、英特爾也在核心庫整合和跟蹤推理執行時的工具中添加了 PyTorch 支援。 &

分享《TensorFlow實戰Google深度學習框架 (第2版) 》中文版PDF和源代碼

技術分享 roc orf 中文版 RoCE term col vpd pan 下載:(https://pan.baidu.com/s/1mrEiGC2B3h6p1iOZuOkGlw) 《TensorFlow實戰Google深度學習框架(第2版)》中文版PDF和源代碼中文版P

深度學習框架的比較 MXNet Caffe TensorFlow Torch Theano

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!