Tensorflow

Python notes

  • Note: the whole picture of tensorflow:
    1. Graph = {ops}
    2. Op = {入tensor,出tensor}
    3. Tensor = {初始tensor} + {中间tensor} + {结束tensor}:
      • 初始tensor
        1. variable(不需要输入,可以改变)
        2. placeholder(需要输入,不能改变)
        3. constant(不需要输入,不能改变)
      • 中间tensor都叫tensor
      • 输出tensor
    4. 画好op图后,用session.run()来跑整个图,run后所有tensor变成numpy。

1. tensor

1.1. transform

  • 可以和常数相加
  • 可以和np相加

1.1.1. methods

2. variable

2.1. variable scope

  1. varible范围
    • varibale_scope()
      • get variable
        • reuse=tf.AUTO_REUSE 的话是一般情况,没有就建立新的,有就取原来的。
        • 没reuse 的话只能创建新的(不同名字),如果存在会报错。
      • variable
        • 全建立新的,后面加1234
      • 一律是加前缀
  2. name范围
    • name_scope()
      • get variable
        • 没reuse 的话只能创建新的(不同名字),如果存在会报错。
      • variable
        • 全建立新的,后面加1234
      • get variable不加前缀
      • tf.name_scope('cgx_scope')语句重复执行几次,就会生成几个独立的命名空间,尽管表面上看起来都是“cgx_scope”,实际上tensorflow在每一次执行相同语句都会在后面加上“_序数”,加以区别。
  • Note:

    1. 简单来说,namescope只管名字,variablescope管重新获得variable。 2)只用一次的variable:namescope+Variable 3)用多次:variablescope+get

3. keras

3.1. details

3.1.1. data path

1
2
3
from keras.datasets import mnist

~/.keras/dataset

4. other

4.1. methods

  1. 获得embedding的一部分
    • tf.embeddinglookup
  2. 扩张维度
  3. linear层
    • tf.layers.dense
      • inputs: 该层的输入
      • units: 输出的大小(维数),整数或long

Title:Tensorflow

Author:Benson

PTime:2019/11/19 - 12:11

LUpdate:2020/04/03 - 21:04

Link:https://steinsgate9.github.io/2019/11/19/tensorflow/

Protocal: Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) Please keep the original link and author.