Python notes
- Note: the whole picture of tensorflow:
- Graph = {ops}
- Op = {入tensor,出tensor}
- Tensor = {初始tensor} + {中间tensor} + {结束tensor}:
- 初始tensor
- variable(不需要输入,可以改变)
- placeholder(需要输入,不能改变)
- constant(不需要输入,不能改变)
- 中间tensor都叫tensor
- 输出tensor
- 初始tensor
- 画好op图后,用session.run()来跑整个图,run后所有tensor变成numpy。
1. tensor
1.1. transform
- 可以和常数相加
- 可以和np相加
1.1.1. methods
2. variable
2.1. variable scope
- varible范围
- varibale_scope()
- get variable
- reuse=tf.AUTO_REUSE 的话是一般情况,没有就建立新的,有就取原来的。
- 没reuse 的话只能创建新的(不同名字),如果存在会报错。
- variable
- 全建立新的,后面加1234
- 一律是加前缀
- get variable
- varibale_scope()
- name范围
- name_scope()
- get variable
- 没reuse 的话只能创建新的(不同名字),如果存在会报错。
- variable
- 全建立新的,后面加1234
- get variable不加前缀
- tf.name_scope('cgx_scope')语句重复执行几次,就会生成几个独立的命名空间,尽管表面上看起来都是“cgx_scope”,实际上tensorflow在每一次执行相同语句都会在后面加上“_序数”,加以区别。
- get variable
- name_scope()
Note:
- 简单来说,namescope只管名字,variablescope管重新获得variable。 2)只用一次的variable:namescope+Variable 3)用多次:variablescope+get
3. keras
3.1. details
3.1.1. data path
1 | from keras.datasets import mnist |
4. other
4.1. methods
- 获得embedding的一部分
- tf.embeddinglookup
- 扩张维度
- tf.expand_dims(one_img, -1)
- 解释:-1表示最后一维
- 来自 https://blog.csdn.net/jasonzzj/article/details/60811035
- tf.expand_dims(one_img, -1)
- linear层
- tf.layers.dense
- inputs: 该层的输入
- units: 输出的大小(维数),整数或long
- tf.layers.dense