日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

更多框架

發布時間:2024/7/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 更多框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 關于框架
    • Caffe
    • 基于層的設計思路
    • Protocol Buffer 技術
    • prototxt .caffemodel文件
    • caffe的訓練
    • 主要特點
    • Torch
    • LUA語言
    • 主要特點
    • Tensorflow
    • computation graphs
    • MXNET

關于框架

Caffe

依賴大量第三方庫
為了讀取圖像,以及簡單的圖像處理,連接很重的Opencv庫
boost來實現一些C++特征
HD5/LMDB/LEVELDB來做數據IO
ProBuffer使用隨處可見

基于層的設計思路

Blob模塊:實現了tensor功能,保存數據和梯度值
Layer模塊:根據輸入(bottom)blog計算輸出(top)blog,同時保存權重/梯度
NET模塊:有多個layer組成,實現forward/backward計算
SOLVER模塊:最優化模塊,利用梯度值更新權重

Protocol Buffer 技術

引入Protocol Buffer 技術,省去編寫大量描述性的c++代碼,比如配置參數,屬性變量等等
方便序列化,用戶可以直接閱讀protext文件,來了解網絡結構

prototxt .caffemodel文件

protxt描述網絡,通過google的protobuffer編譯器直接讀取/序列化c++對象
caffemodel權重文件

caffe的訓練

需要做數據準備,保存為LMDB/Leveidb格式
不用編寫C++代碼,直接編寫.prototxt定義net對象
直接編寫.protoxt定義net對象
通過參數直接執行caffe命令進行訓練
第一部數據準備
準備數據文件:
通過tools/create命令產生LMDB/LEVEidb格式數據文件
第二步:編寫網絡文件
規則簡單的,可以直接用文本編輯器生成
網絡結構復雜的,利用python腳本生成
注意net protoxt文件描述的是有向無環圖
復雜的網絡
網絡結構復雜:殘差網路
層數比較多,手寫非常低效
網絡結構無法復用,prototxt不具備可編程性
第三步:定義solver文件
簡單手動編寫
第四步:訓練

主要特點

技術細節全面采用c++實現
依賴proto buffer/boost開發庫
gpu加速采用cuda開發
opencv僅僅是補充功能,非核心模塊
Layer based
采用DSL定義網絡結構
layer/blob/net/solver結構

Torch

最靈活最容易學習的深度框架

LUA語言

類似javascript動態語言,LuaJit性能高與大多數腳本語言
結合c語言開發非常簡單,通過Luaffi直接調用c編寫模塊

主要特點

靈活的框架
使用Lua語言作為控制應用層,徹底模塊化設計
友好的交互
快速學習深度學習中各個組件的功能
全程可控的訓練過程
適合實驗新的網絡類型

Tensorflow

google研發
基于computer graphs計算模型
python/c++語言
tensorboard可視化工具
多機多卡支持

computation graphs

首先構造好整個計算鏈路
可以對鏈路進行優化
分布式調度容易實現

MXNET

與tensorflow類似,但在支持圖計算的基礎上,增加過程模擬,支持兩種計算模型
比tensorflow更輕量

總結

以上是生活随笔為你收集整理的更多框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。