TensorFlow路上的小学生系列--常见问题解决方案

  • 如何安装TensorFlow

    直接安装Docker版本最方便。

docker run -it --rm --name tensorflow -p 18080:8888 tensorflow/tersorflow:1.2.1  
  • 运行TensorFlow程序,出现警告:'The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.'

    因为是直接安装的Binary,所以TensorFlow就建议如果在当前机器上面通过SourceCode编译,运行速度会更快。

    如果真不想看到这些警告,设置如下环境变量:

export TF_CPP_MIN_LOG_LEVEL=2  
  • 将Mnist训练数据进行可视化

将Mnist数据可视化后,可以更方便的校验训练结果. 使用下面的python代码将数据转成bmp结构:

import struct  
import numpy as np  
import  matplotlib.pyplot as plt  
from PIL import Image  
filename='/tmp/tensorflow/bmp/train-images-idx3-ubyte'  
binfile=open(filename,'rb')  
buf=binfile.read()

index=0  
magic,numImages,numRows,numColumns=struct.unpack_from('>IIII',buf,index)  
index+=struct.calcsize('>IIII')

for image in range(0,numImages):  
    im=struct.unpack_from('>784B',buf,index)
    index+=struct.calcsize('>784B')
    im=np.array(im,dtype='uint8')
    im=im.reshape(28,28)
    im=Image.fromarray(im)
    im.save('train/train_%s.bmp'%image,'bmp')

在官方提供的docker镜像中,需要安装以下依赖包:

apt-get install -y python-tk  
  • 保存训练模型和重新加载模型
# 保存模型
  saver = tf.train.Saver([W, b])
  saver.save(sess,'mnist/ckp')
# 加载模型
  saver = tf.train.Saver([W, b])
# 恢复模型
  saver.restore(sess, "mnist/ckp")
  • Stanford Parse 常用的标注指代
ROOT:要处理文本的语句  
IP:简单从句  
NP:名词短语  
VP:动词短语  
PU:断句符,通常是句号、问号、感叹号等标点符号  
LCP:方位词短语  
PP:介词短语  
CP:由‘的’构成的表示修饰性关系的短语  
DNP:由‘的’构成的表示所属关系的短语  
ADVP:副词短语  
ADJP:形容词短语  
DP:限定词短语  
QP:量词短语  
NN:常用名词  
NR:固有名词  
NT:时间名词  
PN:代词  
VV:动词  
VC:是  
CC:表示连词  
VE:有  
VA:表语形容词  
AS:内容标记(如:了)  
VRD:动补复合词  
CD: 表示基数词  
DT: determiner 表示限定词  
EX: existential there 存在句  
FW: foreign word 外来词  
IN: preposition or conjunction, subordinating 介词或从属连词  
JJ: adjective or numeral, ordinal 形容词或序数词  
JJR: adjective, comparative 形容词比较级  
JJS: adjective, superlative 形容词最高级  
LS: list item marker 列表标识  
MD: modal auxiliary 情态助动词  
PDT: pre-determiner 前位限定词  
POS: genitive marker 所有格标记  
PRP: pronoun, personal 人称代词  
RB: adverb 副词  
RBR: adverb, comparative 副词比较级  
RBS: adverb, superlative 副词最高级  
RP: particle 小品词  
SYM: symbol 符号  
TO:”to” as preposition or infinitive marker 作为介词或不定式标记  
WDT: WH-determiner WH限定词  
WP: WH-pronoun WH代词  
WP$: WH-pronoun, possessive WH所有格代词  
WRB:Wh-adverb WH副词

关系表示
abbrev: abbreviation modifier,缩写  
acomp: adjectival complement,形容词的补充;  
advcl : adverbial clause modifier,状语从句修饰词  
advmod: adverbial modifier状语  
agent: agent,代理,一般有by的时候会出现这个  
amod: adjectival modifier形容词  
appos: appositional modifier,同位词  
attr: attributive,属性  
aux: auxiliary,非主要动词和助词,如BE,HAVE SHOULD/COULD等到  
auxpass: passive auxiliary 被动词  
cc: coordination,并列关系,一般取第一个词  
ccomp: clausal complement从句补充  
complm: complementizer,引导从句的词好重聚中的主要动词  
conj : conjunct,连接两个并列的词。  
cop: copula。系动词(如be,seem,appear等),(命题主词与谓词间的)连系  
csubj : clausal subject,从主关系  
csubjpass: clausal passive subject 主从被动关系  
dep: dependent依赖关系  
det: determiner决定词,如冠词等  
dobj : direct object直接宾语  
expl: expletive,主要是抓取there  
infmod: infinitival modifier,动词不定式  
iobj : indirect object,非直接宾语,也就是所以的间接宾语;  
mark: marker,主要出现在有“that” or “whether”“because”, “when”,  
mwe: multi-word expression,多个词的表示  
neg: negation modifier否定词  
nn: noun compound modifier名词组合形式  
npadvmod: noun phrase as adverbial modifier名词作状语  
nsubj : nominal subject,名词主语  
nsubjpass: passive nominal subject,被动的名词主语  
num: numeric modifier,数值修饰  
number: element of compound number,组合数字  
parataxis: parataxis: parataxis,并列关系  
partmod: participial modifier动词形式的修饰  
pcomp: prepositional complement,介词补充  
pobj : object of a preposition,介词的宾语  
poss: possession modifier,所有形式,所有格,所属  
possessive: possessive modifier,这个表示所有者和那个’S的关系  
preconj : preconjunct,常常是出现在 “either”, “both”, “neither”的情况下  
predet: predeterminer,前缀决定,常常是表示所有  
prep: prepositional modifier  
prepc: prepositional clausal modifier  
prt: phrasal verb particle,动词短语  
punct: punctuation,这个很少见,但是保留下来了,结果当中不会出现这个  
purpcl : purpose clause modifier,目的从句  
quantmod: quantifier phrase modifier,数量短语  
rcmod: relative clause modifier相关关系  
ref : referent,指示物,指代  
rel : relative  
root: root,最重要的词,从它开始,根节点  
tmod: temporal modifier  
xcomp: open clausal complement  
xsubj : controlling subject 掌控者  
  • 在python2.7中输出中文
PYTHONIOENCODING=utf-8 python generate.py  
  • python中切换sub array的问题 暂时不知道这种语法叫啥,先贴上结果以防忘记.
>>> import numpy as np
>>> x = np.random.rand(3,2)
>>> x
array([[ 0.44994045,  0.69992383],  
       [ 0.42225604,  0.53236671],
       [ 0.09966999,  0.19774498]])
>>> x = x[:, :-1]
>>> x
array([[ 0.44994045],  
       [ 0.42225604],
       [ 0.09966999]])
>>>
>>> import numpy as np
>>> x = np.random.rand(3,2)
>>> x
array([[ 0.4971835 ,  0.50545943],  
       [ 0.50986996,  0.14951028],
       [ 0.69434086,  0.56164972]])
>>> x = x[:, -1]
>>> x
array([ 0.50545943,  0.14951028,  0.56164972])  
  • Keras如何切换Backend
# python2+输入:
KERAS_BACKEND=tensorflow python -c "from keras import backend"  
# python3+输入:
KERAS_BACKEND=tensorflow python3 -c "from keras import backend"  

或者

import os  
os.environ['KERAS_BACKEND']='theano'  
import os  
os.environ['KERAS_BACKEND']='tensorflow'  
  • 用 Keras 构建回归神经网络的步骤:
1.导入模块并创建数据  
2.建立模型  
3.激活模型  
4.训练模型  
5.检验模型  
6.可视化结果  
  • 用 Keras 构建分类神经网络的步骤:
1.数据预处理  
2.建立神经网络  
3.训练网络  
4.测试模型  
n 名词  
    nr 人名
        nr1 汉语姓氏
        nr2 汉语名字
        nrj 日语人名
        nrf 音译人名
    ns 地名
     nsf 音译地名
    nt 机构团体名
    nz 其它专名
    nl 名词性惯用语
    ng 名词性语素

t 时间词  
  tg 时间词性语素

s 处所词

f 方位词

v 动词  
    vd 副动词
    vn 名动词
    vshi 动词“是”
    vyou 动词“有”
    vf 趋向动词
    vx 形式动词
    vi 不及物动词(内动词)
    vl 动词性惯用语
    vg 动词性语素
a 形容词  
    ad 副形词
    an 名形词
    ag 形容词性语素
    al 形容词性惯用语
b 区别词  
    bl 区别词性惯用语
z 状态词  
r 代词  
    rr 人称代词
    rz 指示代词
        rzt 时间指示代词
        rzs 处所指示代词
        rzv 谓词性指示代词
    ry 疑问代词
        ryt 时间疑问代词
        rys 处所疑问代词
        ryv 谓词性疑问代词
    rg 代词性语素
m 数词  
    mq 数量词
q 量词  
    qv 动量词
    qt 时量词
虚词
d 副词  
p 介词  
    pba 介词“把”
    pbei 介词“被”
c 连词  
    cc 并列连词
u 助词  
    uzhe 着
    ule 了 喽
    uguo 过
    ude1 的 底
    ude2 地
    ude3 得
    usuo 所
    udeng 等 等等 云云
    uyy 一样 一般 似的 般
    udh 的话
    uls 来讲 来说 而言 说来

    uzhi 之
    ulian 连 (“连小学生都会”)

e 叹词  
y 语气词(delete yg)  
o 拟声词  
h 前缀  
k 后缀  
x 字符串  
    xx 非语素字
    xu 网址URL
w 标点符号  
    wkz 左括号,全角:( 〔  [  {  《 【  〖 〈   半角:( [ { <
    wky 右括号,全角:) 〕  ] } 》  】 〗 〉 半角: ) ] { >
    wyz 左引号,全角:“ ‘ 『
    wyy 右引号,全角:” ’ 』
    wj 句号,全角:。
    ww 问号,全角:? 半角:?
    wt 叹号,全角:! 半角:!
    wd 逗号,全角:, 半角:,
    wf 分号,全角:; 半角: ;
    wn 顿号,全角:、
    wm 冒号,全角:: 半角: :
    ws 省略号,全角:……  …
    wp 破折号,全角:——   --   ——-   半角:---  ----
    wb 百分号千分号,全角:% ‰   半角:%
    wh 单位符号,全角:¥ $ £  °  ℃  半角:$