2017年10月31日星期二

lstm多层代码分析

觉得很好,记录一下,帮助我解决了不少困惑。
链接在此

查找关键字:
tensorflow lstm cell实现rnn

2017年10月27日星期五

linux,vim及.bashrc

1.关于.bashrc的加载
加载过程

2.linux 参考
2.1 处理目录常用命令
ls:列出目录
cd:切换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录
cp:复制文件或目录
rm:移除文件或目录
mv:移动文件

2.2 文件内容查看
cat:由第一行开始显示文件内容
tac:从最后一行开始显示文件内容
nl:显示的时候,顺道输出行号
more:一页一页的显示
less:一页一页的显示,可前后翻页
head:只看前几行
tail:只看后几行
可使用man [命令]来查看帮助文档

eg: head -10 tmp.txt > tmp1.txt 拷贝文件前几行到另一个文件

2.3 磁盘管理
df -h 显示磁盘容量
top 查看电脑内存,cpu占用量

2.4 进程相关
ps -ef |grep
lsof -i:[port]

2.5 网络传输
scp,nc(仅限局域网传输,速度非常快)

3.vim的三个模式
命令模式,插入模式和底线命令模式
命令模式:刚刚启动vim
插入模式:按i
底线插入模式:wq

3.1 vim常用按键模式

移动光标的方法:(我觉得应该记得的部分)

h 或 左箭头  光标向左移动一个字符
j  或 下箭头   光标向下移动一个字符
k 或 上箭头   光标向上移动一个字符
l  或 右箭头   光标向右移动一个字符
如果想要连续移动很多行,用如30j的组合方式
ctrl + f  屏幕向下移动一页,相当于 【page down】
ctrl + b 屏幕向上移动一页,相当于【page up]
ctrl + d 屏幕向下移动半页
ctrl + u 屏幕向上移动半页

0或者home 移到句子的最前面
end  移动到句子的最后面

n<space> 向前移动n个字符
nG n为数字,移动到这个档案的第n行
gg 移动到这个文件的第一行 【常用】
shift + g 移动到文件最后一行,常用
$ 移动至行尾
^ 移动至行首

 搜索替换:
 /word 向光标之下寻找一个名称为word的字符串。
?word 向光标之上寻找一个字符串名称为word的字符串
n 重复上一次的动作,向下搜索,与/word和?word一起使用非常的靠谱
N 与n相反,进行前向搜索
:n1,n2s/word1/word2/g  在第n1与n2之间寻找word1这个字符串,并将该字符串取代为word2
:%s/word1/word2/g    与上面相同
:1,$s/word1/word2/gc  在第一行到最后一行寻找word1这个字符串,并将改字符串取代为word2

删除,复制与粘贴
x,X    在一行中,x为向后删除一个字符,X为向前删除一个字符
nx      n为数字,连续向后删除n个字符
dd      删除游标所在的那一整行
ndd    n为数字,删除光标所在向下n行
yy       复制游标所在处,到该行的最前面一个字符
nyy     复制光标所在的向下n行
p,P      p为将已复制的数据在光标的下一行粘贴,P为贴在游标上一行
u         复原前一个动作
ctrl + r 重做上一个动作

上面两个动作相当于撤销和复原


一般模式切换到编辑模式的可用按钮说明
i,I    进入插入模式,i是从目前所在处插入,I为在目前所在行的第一个非空格处开始插入
a,A  进入插入模式,a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入
o,O  进入插入模式,o为在目前光标所在的下一行出插入新的一行,O为在目前光标所在处的上一行插入新的一行
r,R   进入插入模式
Esc  退出编辑模式,回到一般模式中


一般模式切换到指令行模式的可用的按钮说明
:w    将编辑的数据写入硬盘档案中
:w!   强制写入硬盘档案
:q     离开vim
:q!    修改又不想保存,表示强制离开不存储档案

:wq  存储后离开,
:wq! 强制存储并退去

多行注释和多行取消注释
1.多行注释
先按Esc  ->  ctrl+v   -> I  ->  [输入你想输入的字符:如(# )]   ->  再按Esc

2.多行取消注释

ESC
Ctrl+v键进入列编辑模式
上下键选中
d键删除











     

2017年10月26日星期四

tensorflow-serving,grpc,bazel学习

1.最近遇到一个问题,在应用tensorflow serving机制的时候,运行代码时,原本1s可以得到结果的程序在用了clinet从serving端读取慢了5倍左右。

从网上查了一下,发现是tensorflow-model-serving的安装出了问题,其安装有两种方式,一种是install using apt-get方式,一种是install from source,如果使用apt-get方式安装,则不会出什么问题,但是如果使用source方式安装,可按照链接提供的方法修改bazel 的编译方式,就会一切正常,具体原理并不清楚。
https://github.com/tensorflow/serving/issues/456


2. grpc学习

2017年10月24日星期二

论文搜索技能get

1.各大有名的workshop【语音方面】:
  workshop详见 链接
  这些workshop上通常收集了一些最有知名度的各个领域相关的文章,通常还会有整理好的ppt,读这些ppt,就可以从中找到你所关注领域的文章
【但是由于workshop每年开一次,所以通常2017年你能看到的就是2016年的文章】

2.arxiv网站 
由于论文是有审核期的,这个时候如果有人发了跟你一样的论文,就会发生重复,所以,发论文的人为了不让别人的论文面世时间位于别人后面,在审核期就会把文章发到arxiv上,所以,你可以从上面搜索最新的文章。

3.找好的文章,一定要看团队和作者或者发表在哪里
当然,从一篇好的文章中,它所引用的文章也会相应的有质量,可以选择性的挑选着看

4.关键字选择
当你在google或者arxiv上搜索文章时,如dialog state tracker,在学术上通常还有其他的表示,比如dialog有的或表示成dialogue,tracker被表示成tracking.要多换几个关键词进行搜索。有时候直接搜缩写也可能会有用。

2017年10月18日星期三

n-gram算法

初理解:
http://blog.csdn.net/ahmanz/article/details/51273500

具体公式:
http://blog.sina.com.cn/s/blog_4b2ddd15010151th.html

discriminative model(判别模型) 和 Generative Model(生成模型)


  • 判别模型Discriminative Model,又可以称为条件模型,或条件概率模型。估计的是条件概率分布(conditional distribution), p(class|context)。
  • 生成模型Generative Model,又叫产生式模型。估计的是联合概率分布(joint probability distribution),p(class, context)=p(class|context)*p(context)。
  •  
  • 看了下面这篇,终于有点懂了:
  • 链接

2017年10月9日星期一

tensorboard 不报错也不显示

笔者运行tensorboard --logdir=saver[此处填log文件位置]

出现一下结果:
Starting TensorBoard 55 at http://aisp:6006
(Press CTRL+C to quit)
WARNING:tensorflow:Found more than one graph event per run, or there was a metagraph containing a graph_def, as well as one or more graph events.  Overwriting the graph with the newest event.
WARNING:tensorflow:Found more than one metagraph event per run. Overwriting the metagraph with the newest event.




打开链接http://aisp:6006,没有结果显示,搜索未果
发现tensorboard的兼容浏览器是google chrome,下载即可运行

leetcode 17

17.   Letter Combinations of a Phone Number Medium Given a string containing digits from   2-9   inclusive, return all possible l...