2021-09-22

[软件工程应用与实践]lingvo学习笔记

2021SC@SDUSC

Lingvo是一个tensorflow框架,提供了深度学习协同研究的完整解决方案,专注于seq2seq模型。Lingvo模型有一下模块化的building block组成,非常灵活与容易扩展,中心化实验配置管理以及高度可定制的能力。框架直接支持分布式训练以及量化推理,包含了大量已有的工具、辅助函数、以及最新的研究的想法。

参考论文

Lingvo: a Modular and Scalable Framework
for Sequence-to-Sequence Modeling

学习计划

  • 学习TensorFlow
  • 读lingvo代码

lingvo

  • 序列到序列模型

模型将任意长度的输入序列映射到任意长度的输出序列。序列到序列的示例用法模型包括机器翻译,它从一个单词映射出一个单词序列语言变成另一种语言中具有相同意思的一系列单词;语音识别,将一系列声学特征映射到一个序列中的单词; 以及文本摘要将一系列的单词映射成更短的表达相同意思的单词序列。

  • 所需基础知识

** 递归神经网络
** LSTM
** 注意力机制
** Tensorflow

  • 环境配置
    安装lingvo显示无法找到
    使用cookiecutter为conda创建python包模板, 导包失败
    原文档提供控制台安装方式失败
    返回查看原文档, 发现可以克隆仓库后用Bazel软件进行安装
    github下载bazel并安装
    Bazel安装
    bazel安装方式

参考链接
bazel安装

更新bazel

$ sudo apt-get update && sudo apt-get install bazel

下载环境

$ sudo apt-get install pkg-config zip g++ zlib1g-dev unzip

运行bazel

$ chmod +x bazel-version-installer-os.sh
$ ./bazel-version-installer-os.sh --user
  • 安装tensorflow
    控制台输入指令
pip install tensorflow

检验tensorflow是否安装完成

tensorflow

安装成功

  • 安装C++编译器(已完成)
  • python -m module 链接到bazel run 中运行

pip:

python3 -m lingvo.trainer --job=evaler_test --run_locally=cpu --mode=sync --model=mnist.LeNet5 --logdir=/tmp/mnist/log

Bazel:

bazel-bin/lingvo/trainer --job=evaler_test --run_locally=cpu --mode=sync --model=image.mnist.LeNet5 --logdir=/tmp/mnist/log --logtostderr

参考 雅各布 lingvo框架笔记
lingvo框架总览

分工

lingvo由Models、Tasks、Layers、Input Generators、Params、Experiment Configuration、Job Runners、nestedMap和Custom ops九个组件组成。

我负责后四个组件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值