Lingvo在 Tensorflow 中構(gòu)建神經(jīng)網(wǎng)絡(luò)的框架
Lingvo 是一個用于在 Tensorflow 中構(gòu)建神經(jīng)網(wǎng)絡(luò)的框架,特別是序列模型。
快速開始
安裝
設(shè)置 Lingvo 有兩種方法:通過 pip 安裝固定版本,或者克隆倉庫并使用 bazel 構(gòu)建它。Lingvo 為每種情況都提供了 Docker 配置。
如果您只想按原樣使用框架,最簡單的方法是通過 pip 安裝它。這使得使用 Lingvo 框架的固定版本開發(fā)和訓(xùn)練自定義模型成為可能。但是,很難修改框架代碼或?qū)崿F(xiàn)新的自定義操作。
如果您想進(jìn)一步開發(fā)框架并可能貢獻(xiàn)拉取請求,則應(yīng)避免使用 pip 并用克隆倉庫進(jìn)行替代。
pip 安裝:
該 Lingvo 的 pip 封裝包可以通過pip3 install lingvo安裝
從源代碼構(gòu)建:
先決條件是:
- 安裝 TensorFlow 2.5
- 一個
C++編譯器(只正式支持 g++ 7.3) - bazel 構(gòu)建系統(tǒng)。
git clone存儲庫,然后使用 bazel 直接構(gòu)建和運(yùn)行目標(biāo)。Codelab 中的python -m module命令需要映射到bazel run命令上。
Docker:
Docker 配置可用于這兩種情況:
- lib.dockerfile 預(yù)裝了 Lingvo pip 包
- dev.dockerfile 可用于從源代碼構(gòu)建 Lingvo
運(yùn)行 MNIST 圖像模型
準(zhǔn)備輸入數(shù)據(jù)
pip:
mkdir -p /tmp/mnist python3 -m lingvo.tools.keras2ckpt --dataset=mnist
bazel:
mkdir -p /tmp/mnist bazel run -c opt //lingvo/tools:keras2ckpt -- --dataset=mnist
將在以下文件中創(chuàng)建/tmp/mnist:
-
mnist.data-00000-of-00001: 53MB -
mnist.index: 241 字節(jié)
運(yùn)行模型
pip:
cd /tmp/mnist
curl -O https://raw.githubusercontent.com/tensorflow/lingvo/master/lingvo/tasks/image/params/mnist.py
python3 -m lingvo.trainer --run_locally=cpu --mode=sync --model=mnist.LeNet5 --logdir=/tmp/mnist/log
bazel:
(cpu) bazel build -c opt //lingvo:trainer (gpu) bazel build -c opt --config=cuda //lingvo:trainer bazel-bin/lingvo/trainer --run_locally=cpu --mode=sync --model=image.mnist.LeNet5 --logdir=/tmp/mnist/log --logtostderr
評論
圖片
表情
