發布時間: 2018-11-08 22:29:41
3.1 實驗介紹
3.1.1 關于本實驗
本實驗通過介紹了 TensorFlow 的張量,幫助了解矩陣相乘函數的用法。
3.1.2 實驗目的
l 理解 TensorFlow 的張量。
l 理解如何利用 TensorFlow 進行矩陣之間相乘。
3.1.3 實驗介紹
TensorFlow 的 tf.matmul()可進行矩陣之間相乘。不可以進行矩陣和向量的相乘。通過本實驗學習 TensorFlow 的矩陣相乘。
3.1.4 實驗步驟
步驟 1 登陸華為云。
步驟 2 點擊右上方的控制臺。
步驟 3 選擇彈性云服務器,網頁中會顯示該彈性云的可進行的操作,選擇遠程登錄。即登錄到彈性云服務器。
步驟 4 輸入指令 ll,查看當前目錄下的文件。
步驟 5 輸入命令:vi matmul.py,創建新的 Python 腳本。步驟 6 輸入命令 i,進入編輯模式開始編輯,輸入腳本內容。步驟 7 輸入命令 :wq!,保存并退出。
步驟 8 輸入命令 cat matmul.py 查看代碼。
步驟 9 運行測試。
輸入命令:python3 matmul.py。
3.2 實驗過程
3.2.1 設置編碼說明
# -*- coding: utf-8 -*-
3.2.2 導入模塊
import tensorflow as tf
3.2.3 開啟 TensorFlow 默認會話
#Tensorflow 默認會話
sess = tf.InteractiveSession()
3.2.4 建立矩陣變量
#建立兩個矩陣變量 w1 和 w2
#tf.random_normal(shape, # mean=0.0,
# stddev=1.0,
# dtype=dtypes.float32,
# seed=None,
# name=None)
# 產 生 隨 機 正 態 分 布 #shape 表示矩陣的維度,例如:
#tf.random_normal([2,3],mean=1.0, stddev=1.0)是一個 2 行 3 列的矩陣,
#mean 表示均值,默認為 0.0,stddev 表示標準差,默認為 1.0 #seed 表示隨機數種子,默認為 None
w1 = tf.Variable(tf.random_normal([2,3],mean=1.0, stddev=1.0)) w2 = tf.Variable(tf.random_normal([3,1],mean=1.0, stddev=1.0))
3.2.5 定義常量矩陣
#定義一個二維的常量矩陣,注意:這里不是一維數組
x = tf.constant([[0.7, 0.9]])
3.2.6 初始化全局變量
#初始化全局變量,這里由于只有 w1 和 w2 沒有被初始化(之前只是定義了 w1 和 w2 的 tensor,并沒有被初始化),故這一步只會初始化 w1 和 w2.
tf.global_variables_initializer().run()
3.2.7 矩陣相乘
#計算矩陣相乘 a=x*w1(關于矩陣乘法,可以參看線性代數)
a = tf.matmul(x ,w1)
#計算矩陣相乘 y=a*w2
y = tf.matmul(a, w2)
#輸出計算結果,是一個 1 行 1 列的二維矩陣
print(y.eval())
3.2.8 實驗結果
輸出結果:
[[4.263941]]
3.3 實例描述
3.3.1 實例描述
使用 with session 方法建立 session,并在 session 中計算矩陣的相乘運算。
上一篇: {HTML5}過濾選擇器-第四節-可見性過濾器-上
下一篇: {Docker}Docker鏡像命令