【机器学习入门笔记10:TensorFlow矩阵基础】20190217
生活随笔
收集整理的這篇文章主要介紹了
【机器学习入门笔记10:TensorFlow矩阵基础】20190217
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019-02-17? by 崔斐然?
#pacehold 實現算術操作:運算時實時插入
#placehold import os import tensorflow as tf os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'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}))# 1 dataAdd 2 data (feed_dict = {1:6,2:2}) print('end!')#TensorFlow中的矩陣運算,1、什么是矩陣運算。2、矩陣運算的規則
1、矩陣就是一個m行n列的二維數組。外部由一個中括號表示,內部[里面是列數據] ?[]中括號整體是行數,行列之間都用都好隔開。
手繪一下:
實現代碼:
#類比 數組 M行N列 [] 內部[] [里面 列數據] [] 中括號整體 行數 #[[6,6]] [[6,6]] 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('打印整體 \n',sess.run(data4)) #打印整體print('打印第一行',sess.run(data4[0]))# 打印某一行print('打印第一列',sess.run(data4[:,0]))#MN 列print('打印第1行第2列',sess.run(data4[0,1]))# 1 1 MN = 0 32 = M012 N01結果如下:
打印維度 (3, 2) 打印整體 [[1 2][3 4][5 6]] 打印第一行 [1 2] 打印第一列 [1 3 5] 打印第1行第2列 22、矩陣的運算:
矩陣加法:行列必須相等
矩陣乘法:參考線性代數即可。形象點就是A1中的第一行順時針旋轉與A2第一列對應項相乘后相加
矩陣相加和矩陣相乘實現如下:
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) matMul2 = tf.multiply(data1,data2) matAdd = tf.add(data1,data3) with tf.Session() as sess:print('矩陣的乘法:',sess.run(matMul))#1 維 M=1 N2. 1X2(MK) 2X1(KN) = 1print('矩陣的加法:',sess.run(matAdd))#1行2列print('矩陣的點積: \n',sess.run(matMul2))# 1x2 2x1 = 2x2print('一次輸出多個值: \n',sess.run([matMul,matAdd]))實現結果:
矩陣的乘法: [[24]] 矩陣的加法: [[9 9]] 矩陣的點積: [[12 12][12 12]] 一次輸出多個值: [array([[24]], dtype=int32), array([[9, 9]], dtype=int32)]?
矩陣的其他語法:
import os import tensorflow as tf os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'# 定義2行3列的空矩陣 方法1 mat0 = tf.constant([[0,0,0],[0,0,0]]) # 定義2行3列的空矩陣 方法2 mat1 = tf.zeros([2,3]) # 定義2行3列的全1矩陣 mat2 = tf.ones([3,2]) # 定義填充矩陣 mat3 = tf.fill([2,3],15) with tf.Session() as sess:#print(sess.run(mat0))#print(sess.run(mat1))#print(sess.run(mat2))print(sess.run(mat3))# 定義一個3行1列的矩陣 mat11 = tf.constant([[2],[3],[4]]) # 定義一個和mat11相同維度的空矩陣 mat21 = tf.zeros_like(mat1) # 把0-2之間的數據分為相等的十份 mat31 = tf.linspace(0.0,2.0,11) # 定義一個-1至2之間的隨機矩陣 mat41 = tf.random_uniform([2,3],-1,2) with tf.Session() as sess:print(sess.run(mat21))print(sess.run(mat31))print(sess.run(mat41))執行結果:?
[[15 15 15][15 15 15]] [[0. 0. 0.][0. 0. 0.]] [0. 0.2 0.4 0.6 0.8 1. 1.21.4 1.6 1.8000001 2. ] [[ 1.2189956 0.04116595 1.3214905 ][ 0.30282116 1.3305001 -0.3343072 ]]?
總結
以上是生活随笔為你收集整理的【机器学习入门笔记10:TensorFlow矩阵基础】20190217的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习入门笔记9:TensorFlo
- 下一篇: 【机器学习入门笔记11:numpy模块实