python tensorflow学习笔记(五)矩阵乘法运算

相关公式

[0.36424586843872840.6675075448915823]×[0.134750808390697090.5863696301031353]=[0.44048858]

[0.134750808390697090.5863696301031353]×[0.36424586843872840.6675075448915823]=[0.049082430.213582720.089947180.39140615]

结果示例

2017-08-29 13:45:18,965 - DEBUG - start tensorflow tutorial example 5 matrix multiply operation
2017-08-29 13:45:19,003 - DEBUG - MATRIX_A :
[[0.3642458684387284, 0.6675075448915823]]
2017-08-29 13:45:19,019 - DEBUG - MATRIX_B :
[[0.13475080839069709], [0.5863696301031353]]
2017-08-29 13:45:19,066 - DEBUG - OPERATION_MATMUL_A_B(PLACEHOLDER_A, PLACEHOLDER_B) :
[[ 0.44048858]]
2017-08-29 13:45:19,088 - DEBUG - OPERATION_MATMUL_B_A(PLACEHOLDER_A, PLACEHOLDER_B) :
[[ 0.04908243  0.08994718]
 [ 0.21358272  0.39140615]]

源代码

# -*- coding: utf-8 -*-
"""
filename : tutorial_example_5_matmul_operation.py
author: hu@daonao.com QQ: 443089607 weixin: huzhenghui weibo: http://weibo.com/443089607
category : tensorflow
title : python tensorflow学习笔记(五)矩阵乘法运算
csdn blog url :
weibo article url :
weibo message url :
为了清晰直观展现python严格要求的缩进及数学公式,请访问博客上博文
详细说明见源代码中的注释
"""

# standard import
import logging
import random

import tensorflow

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('start tensorflow tutorial example 5 matrix multiply operation')

# 定义一个占位符矩阵,类型为float64,尺寸为一行两列
PLACEHOLDER_A = tensorflow.placeholder(tensorflow.float64, [1, 2])
# 定义一个占位符矩阵,类型为float64,尺寸为两行一列
PLACEHOLDER_B = tensorflow.placeholder(tensorflow.float64, [2, 1])
# 定义一个矩阵乘法运算,左A右B
OPERATION_MATMUL_A_B = tensorflow.matmul(PLACEHOLDER_A, PLACEHOLDER_B)
# 定义一个矩阵乘法运算,左B右A
OPERATION_MATMUL_B_A = tensorflow.matmul(PLACEHOLDER_B, PLACEHOLDER_A)
# 创建一个会话
SESSION = tensorflow.Session()
# 一个尺寸为一行两列的矩阵
MATRIX_A = [[random.random(), random.random()]]
# 一个尺寸为两行一列的矩阵
MATRIX_B = [[random.random()],
            [random.random()]]
# 显示尺寸为一行两列的矩阵的值
logging.debug('MATRIX_A : \n%s', MATRIX_A)
# 显示尺寸为两行一列的矩阵的值
logging.debug('MATRIX_B : \n%s', MATRIX_B)
# 运行左A右B的矩阵乘法运算,结果是1x1矩阵
logging.debug('OPERATION_MATMUL_A_B(PLACEHOLDER_A, PLACEHOLDER_B) : \n%s', SESSION.run(OPERATION_MATMUL_A_B, feed_dict={PLACEHOLDER_A: MATRIX_A, PLACEHOLDER_B: MATRIX_B}))
# 运行左B右A的矩阵乘法运算,结果是2x2矩阵
logging.debug('OPERATION_MATMUL_B_A(PLACEHOLDER_A, PLACEHOLDER_B) : \n%s', SESSION.run(OPERATION_MATMUL_B_A, feed_dict={PLACEHOLDER_A: MATRIX_A, PLACEHOLDER_B: MATRIX_B}))
#end of file
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值