Lingvo 是一个用于在 Tensorflow 中构建神经网络的框架,特别是序列模型。
快速开始
安装
设置 Lingvo 有两种方法:通过 pip 安装固定版本,或者克隆仓库并使用 bazel 构建它。 Lingvo 为每种情况都提供了 Docker 配置。
如果您只想按原样使用框架,最简单的方法是通过 pip 安装它。 这使得使用 Lingvo 框架的固定版本开发和训练自定义模型成为可能。 但是,很难修改框架代码或实现新的自定义操作。
如果您想进一步开发框架并可能贡献拉取请求,则应避免使用 pip 并用克隆仓库进行替代。
pip 安装:
该 Lingvo 的 pip 封装 包可以通过 pip3 install lingvo安装
从源代码构建:
先决条件是:
安装 TensorFlow 2.5
一个 C++编译器(只正式支持 g++ 7.3)
bazel 构建系统。
git clone存储库,然后使用 bazel 直接构建和运行目标。Codelab 中 的 python -m module命令需要映射到 bazel run命令上。
Docker:
Docker 配置可用于这两种情况:
运行 MNIST 图像模型
准备输入数据
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
将在以下文件中创建 /tmp/mnist:
mnist.data-00000-of-00001: 53MB
mnist.index: 241 字节
运行模型
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