tensorflow nmt基本配置(tf-1.4)
随着tensorflow的不断更新,直接按照nmt的教程搭建nmt环境会报错的。。。因此,需要一些不太好的办法来避免更多的问题出现。
tensorflow看来在ubuntu和debian中运行是没有问题的。因此,选用ubuntu作为环境系统。
由于tf-nightly越来越远了,因此,先使用tf-1.4让程序能够正常运行再考虑其他的问题吧。
python选用默认的2.7,安装easy-pip。
有了python的支持,我们同样需要使用指定版本的tf,一边支持nmt对应的版本(否则会报错,无法正常使用).
pip install tensorflow==1.4.0(这里只安装了CPU版本)
git clone https://github.com/tensorflow/nmt/
使用 git branch -a 查看所下载的nmt的所有分支。
切换到tf-1.4版本:
git checkout -b tf-1.4 origin/tf-1.4
Branch tf-1.4 set up to track remote branch tf-1.4 from origin.
Switched to a new branch ‘tf-1.4’
至此,我们可以按照nmt教程去做了:
mkdir /tmp/nmt_model
python -m nmt.nmt \
–src=vi –tgt=en \
–vocab_prefix=/tmp/nmt_data/vocab \
–train_prefix=/tmp/nmt_data/train \
–dev_prefix=/tmp/nmt_data/tst2012 \
–test_prefix=/tmp/nmt_data/tst2013 \
–out_dir=/tmp/nmt_model \
–num_train_steps=12000 \
–steps_per_stats=100 \
–num_layers=2 \
–num_units=128 \
–dropout=0.2 \
–metrics=bleu
可以看到,上面的参数把越南语翻译为英语了.反向翻译,则只需要调换,即:
–src=en –tgt=vi
由于这个过程比较慢,我们可以用tf的cgi接口查看状态:
tensorboard –port 22222 –logdir /tmp/nmt_model/
这样,就可以访问本地22222端口来看具体训练状态了.
我在三代笔记本i5训练了小规模语料库,不到10个小时。
接下来,可以翻译一些文本了:
cat > /tmp/my_infer_file.vi
# (copy and paste some sentences from /tmp/nmt_data/tst2013.vi)
python -m nmt.nmt \
–out_dir=/tmp/nmt_model \
–inference_input_file=/tmp/my_infer_file.vi \
–inference_output_file=/tmp/nmt_model/output_infer
cat /tmp/nmt_model/output_infer # To view the inference as output
参考网文:
nmt官方教程
tensorflow nmt基本配置(tf-1.4)的更多相关文章
- Tensorflow开发环境配置及其基本概念
Tensorflow开发环境配置及其基本概念 1.1. 安装Tensorflow开发环境 1.1.1. 安装pycharm 1.1.2. 安装pythe3.6 1.1.3. 安装Tensorflow ...
- TensorFlow NMT的数据处理过程
在tensorflow/nmt项目中,训练数据和推断数据的输入使用了新的Dataset API,应该是tensorflow 1.2之后引入的API,方便数据的操作.如果你还在使用老的Queue和Coo ...
- TensorFlow NMT的词嵌入(Word Embeddings)
本文转载自:http://blog.stupidme.me/2018/08/05/tensorflow-nmt-word-embeddings/,本站转载出于传递更多信息之目的,版权归原作者或者来源机 ...
- Tensorflow使用环境配置
windows中不能直接使用Tensorflow,所以得费点劲.(2016.11.29更新,TensorFlow 0.12 中已加入初步的 Windows 原生支持) 先是直接使用了<Deep ...
- Ubuntu 14.04 关于 TensorFlow 环境的配置
Ubuntu 14.04 关于 TensorFlow 环境的配置 本教程截图于 TensorFlow 官方文档中文版 https://github.com/jikexueyuanwiki/ten ...
- Tensorflow滑动平均模型tf.train.ExponentialMovingAverage解析
觉得有用的话,欢迎一起讨论相互学习~Follow Me 移动平均法相关知识 移动平均法又称滑动平均法.滑动平均模型法(Moving average,MA) 什么是移动平均法 移动平均法是用一组最近的实 ...
- import tensorflow 报错: tf.estimator package not installed.
import tensorflow 报错: tf.estimator package not installed. 解决方案1: 安装 pip install tensorflow-estimator ...
- tensorflow笔记6:tf.nn.dynamic_rnn 和 bidirectional_dynamic_rnn:的输出,output和state,以及如何作为decoder 的输入
一.tf.nn.dynamic_rnn :函数使用和输出 官网:https://www.tensorflow.org/api_docs/python/tf/nn/dynamic_rnn 使用说明: A ...
- 【深度学习】在linux和windows下anaconda+pycharm+tensorflow+cuda的配置
在linux和windows下anaconda+pycharm+tensorflow+cuda的配置 在linux和windows下anaconda+pycharm+tensorflow+cuda的配 ...
随机推荐
- 【luogu P3368 树状数组2】 模板
题目链接:https://www.luogu.org/problemnew/show/P3368 #include<iostream> #include<cstdio> #in ...
- 通过sql语句查询出来的结果字段没有到对应实体类时的处理方法
通过sql语句查询出来的结果字段没有到对应实体类时的处理方法,对于Person类获取用户第一个名字和年龄两个字段,常见的有两种方式: 1.在创建一个与查询结果字段对应的类,然后通过构造函数实现: Qu ...
- 深入 Struts2 的配置 - 处理多个请求-处理请求结果-模型驱动-异常机制
转:http://www.java3z.com/cwbwebhome/article/article2/2938.html?id=1631 本部分主要介绍struts.xml的常用配置. 1.1. ...
- 【题解】洛谷P2532 [AHOI2012]树屋阶梯(卡特兰数+高精)
洛谷P2532:https://www.luogu.org/problemnew/show/P2532 思路 来自Sooke大佬的推导: https://www.luogu.org/blog/Sook ...
- LinQ 简介
LinQ是3.0新加的语法.用起来比较方便,我们可以使用较简单的方法来过滤数据和处理数据. 使用场景: 可以看到LINQ使用场景还是很多的.现在写项目基本都会用到. 在出现委托之前,我们来查找对象 在 ...
- Controller类的方法上的RequestMapping一定要写在Controller类里吗?
转载请标明出处: https://blog.csdn.net/forezp/article/details/80069961 本文出自方志朋的博客 使用Spring Cloud做项目的同学会使用Fei ...
- App 分辨率相关 - iOS
针对现有 Apple 设备分辨率小归总,方便日常查看; 顺便推荐一款图片生成工具,个人感觉挺方便好用,放置一张高分辨率大图可自动生成一套配图,软件名称(App Icon Gear). 具体设备分辨率如 ...
- DLL DEF文件编写方法 VC++ 调用、调试DLL的方法 显式(静态)调用、隐式(动态)调用
DLL 文件编写方法: 1.建立DLL工程 2.声明.定义要导出的函数 BOOL WINAPI InitDlg( HWND hTabctrl,TShareMem* pTshare,CRect* prc ...
- is 和 isinstance的区别 and issubclass
定义一个子类和父类 class A: pass class B(A): pass is print(type(b) is B) # 结果: True print(type(b) is A) # 结果: ...
- SQL语句笔记/好记性不如烂笔头/持续更新
常用的增删改查操作,针对库,表,字段,记录分类有助于记忆,当然熟能生巧,还是需要多多实操 库操作 删除库 drop database dbx; 列出所有库 show databases; 切换库 us ...