发布时间: 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镜像命令