import tensorflow as tf
print(tf.__version__)
print(tf.test.is_gpu_available())
来查看安装的tf版本以及gpu是否可使用。
通俗一点讲:张量是对标量,矢量,矩阵的推广。一阶张量可以理解成一个向量,二阶张量可以理解成矩阵,三阶张量可以理解成立方体,四阶张量可以理解成立方体组成的一个向量,五阶张量可以理解成立方体组成的矩阵,依次类推。
关于RANK与SHAPE的个人理解
通俗的讲,rank是指这个张量所具有的维度,可以是一维二维三维等等;shape是指这个张量的形状,由几行几列组成,可以理解为分别对张量每个维度的具体描述。
tensor1=tf.Variable("Elephant",tf.string)
tf.print(tf.rank(tensor1))
tf.print(tf.shape(tensor1))
运行这段代码可以看出,字符串“Elephant”其维度为0,且不具备形状(行列)的概念。故运行之后结果为
0
[]
再套用上述代码段测试以下张量,可以发现其分别对应结果为
tensor2=tf.Variable(["Hello"],tf.string)
tensor3=tf.Variable([[7],[11]],tf.int16)
1
[1]
2
[2 1]
张量除了以上定义方法,还有以下函数可以调用,分别对应使用方法与结果如下(方法很多,在以后的学习中将会进行补充)
tf.constant([1,2,3],dtype=tf.int16)
tf.zeros((2,2),dtype=tf.int16)
<tf.Tensor: id=42, shape=(3,), dtype=int16, numpy=array([1, 2, 3], dtype=int16)>
<tf.Tensor: id=45, shape=(2, 2), dtype=int16, numpy=
array([[0, 0],
[0, 0]], dtype=int16)>
方法据说与numpy类似,本人尚未学习numpy,以后会进行详细补充。
以上便是本周对tensorflow张量的学习和理解。
**课程来自“深度之眼”,部分论述摘自“春江明月”的博客。