导读
数据实时插入
上节中数据在初始化的时候就定义了值,面临数据需要实时插入的时候,用placeholder
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!')
sess.run()
第一个参数是运算后的张量dataAdd;
第二个参数是需要追加的数据:feed_dict={};
{}里第一个参数和第二个参数根据前面的计算数据来定 (用冒号)。
tensorflow中的矩阵
矩阵:最外面是一个[ ],内部由一个个[ ]组成,每个[ ]里面由列数据组成,每个[ ]整体作为行数据(类比于数组,只是里面的每一行需要加上[ ])。
eg:一行两列 [ [6,6] ]
两行一列 [ [2],[2] ]
三行两列[ [1,2], [3,4], [5,6] ]
1.打印矩阵的维度
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)
2.读取矩阵中的内容
data4[0],里面若只有一个元素,表示行;
data4[:,0],第一列(一共包含三行)
data4[0,0],第一行第一列
data4[0,1],第一行第二列
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)
with tf.Session() as sess:
print(sess.run(data4))
print(sess.run(data4[0]))
print(sess.run(data4[:,0]))
print(sess.run(data4[0,0]))
3.矩阵的运算
#矩阵乘法:tf.matmul()
matMul = tf.matmul(data1,data2)
#普通乘法:tf.multiply()
matMul = tf.multiply(data1,data2)
4.print打印多个内容
print(sess.run(matMul,matAdd))
(1)特殊矩阵的相关定义
①全0矩阵
import tensorflow as tf
mat0 = tf.constant([[0,0,0],[0,0,0]])
with tf.Session() as sess:
print(sess.run(mat0))
[ [0 0 0]
[0 0 0] ]
mat1 = tf.zeros([2,3])
[ [0. 0. 0.]
[0. 0. 0.] ]
②全1矩阵
mat3 = tf.ones([3,2])
[ [1. 1.]
[1. 1.]
[1. 1.] ]
③ 填充矩阵
mat4 = tf.fill([2,3],15)
[ [15 15 15]
[15 15 15] ]
(2)其他更为特殊的矩阵
①定义一个全0矩阵,维度跟mat1一样
import tensorflow as tf
mat1 = tf.constant([[2],[3],[4]])
mat2 = tf.zeros_like(mat1)
with tf.Session() as sess:
print(sess.run(mat2))
[ [0]
[0]
[0] ]
②把0~2 之间分成相等的10份(一共11个数据)
linspace
mat3 = tf.linspace(0.0,2.0,11)
③随机矩阵序列
定义一个两行三列的矩阵,数据内容随机产生于-1~2
mat4 = tf.random_uniform([2,3],-1,2)
numpy中的矩阵
1.定义矩阵
import numpy as np
data1 = np.array([1,2,3,4,5])
print(data1)
输出为[1 2 3 4 5]
2.打印相关内容
(1)维度
import numpy as np
data1 = np.array([1,2,3,4,5])
print(data1)
data2 = np.array([[1,2],
[3,4]])
print(data2)
print(data1.shape,data2.shape)
输出结果为:
[1 2 3 4 5]
[[1 2]
[3 4]]
(5,) (2, 2)
(2)初始化一些特殊矩阵
print(np.zeros([2,3]),'\n',np.ones([2,2]))
输出为:
[[0. 0. 0.]
[0. 0. 0.]]
[[1. 1.]
[1. 1.]]
(3)矩阵的修改查看
import numpy as np
data = np.array([[1,2],
[3,4]])
print(data)
data[1,0] = 5
print(data)
print(data[1,1])
输出为:
[[1 2]
[3 4]]
[[1 2]
[5 4]]
4