TensorFlow入门(2)矩阵基础

placeholder(type,strucuct…)它的第一个参数是你要保存的数据的数据类型,大多数是tensorflow中的float32数据类型,后面的参数就是要保存数据的结构,比如要保存一个1×2的矩阵,则struct=[1 2]。它在使用的时候和前面的variable不同的是在session运行阶段,需要给placeholder提供数据,利用feed_dict的字典结构给placeholdr变量“喂数据”,具体使用如下:

import tensorflow as tf
data1 = tf.placeholder(tf.float32)
data2 = tf.placeholder(tf.float32)
dataAdd = tf.add(data1, data2)
with tf.Session() as sess:
     print(sess.run(dataAdd, feed_dict={data1:6, data2:2}))
print('end')  

矩阵的输入和输出


import tensorflow as tf
data1 =tf.constant([[6,6]])
data2=tf.constant([[2],
                   [2]])
data3=tf.constant([[3.3]])
data4=tf.constant([[1,2],[3,4],[5,6]])
print(data4.shape)    
#打印矩阵维度(3, 2)
with tf.Session() as sess:
    print(sess.run(data4))
#[[1 2]
# [3 4]
#[5 6]]
  • 打印某一行或列
    print(sess.run(data4[0]))  #打印第一行
    print(sess.run(data4[:,0]))#打印第一列

矩阵运算

import tensorflow as tf
data1 =tf.constant([[6,6]])
data2=tf.constant([[2],
                   [2]])
data3=tf.constant([[3.3]])
data4=tf.constant([[1,2],[3,4],[5,6]])
matMul=tf.matmul(data1,data2) #矩阵乘法
matdd=tf.add(data1,data3)     #矩阵加法
with tf.Session() as sess:
    print(sess.run(matMul))
    print(sess.run(matdd))
[[24]]
[[9 9]]
  • 初始化
import tensorflow as tf
mat1=tf.zeros([3,3])     #3行3列全0
mat2=tf.ones([3,2])      #3行2列全1
mat3=tf.fill([3,3],9)     #3行3列的全为9的填充矩阵
with tf.Session()  as sess:
    print(sess.run(mat1))
[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]
  • 生成相同结构0矩阵
import tensorflow as tf
mat2=tf.constant([[2],[3],[4]])
mat3=tf.zeros_like(mat2)
with tf.Session()  as sess:
    print(sess.run(mat2))
    print(sess.run(mat3))
  • 等分为10份
import tensorflow as tf
mat3=tf.linspace(0.0,2.0,11)  #11-1=10  因为公比为0.2  但是个数为11
with tf.Session()  as sess:
    print(sess.run(mat3))
[0.        0.2       0.4       0.6       0.8       1.        1.2
 1.4       1.6       1.8000001 2.       ]

允许的start值的类型为bfloat16, float32, float64
第二个值好像没要求

  • 随机矩阵
mat3=tf.random_uniform(shape, minval, maxval, dtype, seed, name)
mat3=tf.random_uniform([2,3], 1,10, float32)
[[6.941682  2.7274508 6.955309 ]
 [7.5354166 7.1595845 2.0034423]]

猜你喜欢

转载自blog.csdn.net/wo164683812/article/details/80349680