1. 基本概念
tensorflow不仅是一个软件库,还包括Tensorflow,Tensorboard,TensorServing;
- Tensorflow中constants,variables,operators 称为:ops;
1.1 Constant op
tf.constant(value, dtype=None, shape=None, name='Const', verify_shape=False)
# constant of 1d tensor (vector)
a = tf.constant([2, 2], name="vector")
# constant of 2x2 tensor (matrix)
b = tf.constant([[0, 1], [2, 3]], name="matrix")
创建 类似numpy的结构
tf.zeros(shape, dtype=tf.float32, name=None)
# create a tensor of shape and all elements are zeros
# ==> [[0, 0, 0], [0, 0, 0]]
tf.zeros([2, 3], tf.int32)
创建类似·input_tensor·的shape和type(除非指定)但是元素全部为0:
tf.zeros_like(input_tensor, dtype=None, name=None, optimize=True)
# input_tensor [[0, 1], [2, 3], [4, 5]]
tf.zeros_like(input_tensor) #==> [[0, 0], [0, 0], [0, 0]]
- 创建一个tensor,所有元素都为1
`
tf.ones(shape.dtype = tf.float32 , name = None)
tf.ones([ 2 , 3 ], tf . int32 )
#==> [[ 1 , 1 , 1 ], [ 1 , 1 , 1 ]]`
- 创建一个类似input_tensor的shape结构,数据type可以自定义,所有元素为1;
- 创建一个tensor ,并且使用一个标量填充;
- 创建一个连续constant,包含start和stop;
- 从一个数开始创建一个constant 序列,但是不包括最后limit数;
- 但是,tensor不支持python的迭代器属性:
- tensorflow的随机生成:
1.2 math ops
1.2.1 division
1.2.2 add
1.2.3 product
tf.matmul
不等于dot product:
1.2.4 ops in Python
1.3 Data Type
1.3.1 python type
- tensorflow 适配python原始类型:
- python中的single value(boolean,numeric value,strings) => 0-d tensor(scalars)
- list : 1-d tensor
- list of list : 2-d tensor
等等;
例如:
1.3.2 tensor type
1.3.3 numpy Type
- tensor 的type基于numpy的type,因此例如
tf.int32 == np.int32
返回true;
在tensor中可以传递numpy的type:
1.tensor 和numpy的boolean,numeric value相互匹配;但是string不是完全匹配,tf能够导入numpy strings,只是不要指定numpy的dtypes;
2.numpy 不支持gpu,tensorflow 支持;
3.tensorflow能够推断数据类型状态:如integer: tf中有:8-bit,16-bit,32-bit,64bit可用,但是python不能推断使用的那种数据类型