矩阵运算
代码
#!/usr/bin/python3
# -*- coding: utf-8 -*-
'tensorflow test '
__author__ = 'administrator'
import tensorflow.compat.v1 as tf
tf.disable_eager_execution()#保证sess.run()能够正常运行
print ('矩阵运算,例如执行乘法、加法和减法,是任何神经网络中信号传播的重要操作。通常在计算中需要随机矩阵、零矩阵、一矩阵或者单位矩阵。')
sess=tf.InteractiveSession()
#5*5 Identity matrix
i_matrix=tf.eye(5)
print('\n5*5 幺矩阵;纯量矩阵;恒等矩阵;单位矩阵\n',i_matrix.eval())
X=tf.Variable(tf.eye(10))
X.initializer.run() #initialize variable
print("\n10*10 单位矩阵变量(X)\n",X.eval())
A=tf.Variable(tf.random_normal([5,10]))
A.initializer.run()
print ('\n5*10 正态分布随机变量(A):\n',A.eval())
product=tf.matmul(A,X)
print('\n(matmul(A,X)\n',product.eval())
b=tf.Variable(tf.random_uniform([5,10],0,2,dtype=tf.int32))
b.initializer.run()
print('\n5*10 伽马分布 变量random_uniform\n',b.eval())
b_new=tf.cast(b,dtype=tf.float32)
print('\n5*10 init32 转 5*10 float32 (b)\n',b_new.eval())
t_sum=tf.add(product,b_new)
t_sub=product-b_new
print("\nA*X+b\n",t_sum.eval())
print("\nA*X-b\n",t_sub.eval())
o_a=tf.Variable(tf.random_normal([4,5],stddev=2))
o_a.initializer.run()
o_b=tf.Variable(tf.random_normal([4,5],stddev=2))
o_b.initializer.run()
o_A=o_a * o_b
o_B=tf.scalar_mul(2,A)
o_C=tf.div(o_a,o_b)
o_D=tf.mod(o_a,o_b)
print("a:",o_a.eval())
print("b:",o_b.eval())
print("a*b",o_A.eval())
print("a scalar_mul b",o_B.eval())
print("a div b",o_C.eval())
print("a mod b",o_D.eval())
运行结果:
矩阵运算,例如执行乘法、加法和减法,是任何神经网络中信号传播的重要操作。通常在计算中需要随机矩阵、零矩阵、一矩阵或者单位
矩阵。
5*5 幺矩阵;纯量矩阵;恒等矩阵;单位矩阵
[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]]
10*10 单位矩阵变量(X)
[[1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 1. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 1. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 1. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 1.]]
5*10 正态分布随机变量(A):
[[-4.91353609e-02 5.35970211e-01 1.39990485e+00 1.68981943e-02
1.07096046e-01 5.47472119e-01 -8.34636509e-01 7.94281602e-01
1.17378807e+00 3.23794723e-01]
[ 6.86909676e-01 -8.79748940e-01 -6.53411210e-01 6.91390276e-01
-3.73241633e-01 -1.77399158e-01 8.71190965e-01 2.99036987e-02
2.81679630e-02 1.64658463e+00]
[ 1.07807004e+00 4.80453551e-01 -3.55023891e-01 4.51839328e-01
-3.35935980e-01 -2.90277541e-01 -7.17005372e-01 1.23319757e+00
2.65232533e-01 9.61952567e-01]
[-3.48799407e-01 2.95763403e-01 -3.92669380e-01 -7.36970280e-04
8.45904797e-02 1.08629197e-01 -1.28558826e+00 -8.33302811e-02
-7.31215477e-02 -2.25087717e-01]
[ 1.79689631e-01 -7.16789424e-01 1.03346482e-01 -1.21773756e+00
9.55768943e-01 2.01287940e-01 -1.98669270e-01 1.20893523e-01
1.27796188e-01 -1.16478395e+00]]
(matmul(A,X)
[[-4.91353609e-02 5.35970211e-01 1.39990485e+00 1.68981943e-02
1.07096046e-01 5.47472119e-01 -8.34636509e-01 7.94281602e-01
1.17378807e+00 3.23794723e-01]
[ 6.86909676e-01 -8.79748940e-01 -6.53411210e-01 6.91390276e-01
-3.73241633e-01 -1.77399158e-01 8.71190965e-01 2.99036987e-02
2.81679630e-02 1.64658463e+00]
[ 1.07807004e+00 4.80453551e-01 -3.55023891e-01 4.51839328e-01
-3.35935980e-01 -2.90277541e-01 -7.17005372e-01 1.23319757e+00
2.65232533e-01 9.61952567e-01]
[-3.48799407e-01 2.95763403e-01 -3.92669380e-01 -7.36970280e-04
8.45904797e-02 1.08629197e-01 -1.28558826e+00 -8.33302811e-02
-7.31215477e-02 -2.25087717e-01]
[ 1.79689631e-01 -7.16789424e-01 1.03346482e-01 -1.21773756e+00
9.55768943e-01 2.01287940e-01 -1.98669270e-01 1.20893523e-01
1.27796188e-01 -1.16478395e+00]]
5*10 伽马分布 变量random_uniform
[[1 1 1 0 1 0 1 1 0 1]
[1 0 1 1 0 1 1 0 1 0]
[1 0 0 1 0 1 0 1 0 0]
[1 0 1 0 1 0 1 0 1 1]
[1 0 0 0 1 1 0 1 0 0]]
5*10 init32 转 5*10 float32 (b)
[[1. 1. 1. 0. 1. 0. 1. 1. 0. 1.]
[1. 0. 1. 1. 0. 1. 1. 0. 1. 0.]
[1. 0. 0. 1. 0. 1. 0. 1. 0. 0.]
[1. 0. 1. 0. 1. 0. 1. 0. 1. 1.]
[1. 0. 0. 0. 1. 1. 0. 1. 0. 0.]]
A*X+b
[[ 9.5086461e-01 1.5359702e+00 2.3999047e+00 1.6898194e-02
1.1070961e+00 5.4747212e-01 1.6536349e-01 1.7942816e+00
1.1737881e+00 1.3237947e+00]
[ 1.6869097e+00 -8.7974894e-01 3.4658879e-01 1.6913903e+00
-3.7324163e-01 8.2260084e-01 1.8711910e+00 2.9903699e-02
1.0281680e+00 1.6465846e+00]
[ 2.0780702e+00 4.8045355e-01 -3.5502389e-01 1.4518393e+00
-3.3593598e-01 7.0972246e-01 -7.1700537e-01 2.2331977e+00
2.6523253e-01 9.6195257e-01]
[ 6.5120059e-01 2.9576340e-01 6.0733062e-01 -7.3697028e-04
1.0845904e+00 1.0862920e-01 -2.8558826e-01 -8.3330281e-02
9.2687845e-01 7.7491230e-01]
[ 1.1796896e+00 -7.1678942e-01 1.0334648e-01 -1.2177376e+00
1.9557689e+00 1.2012880e+00 -1.9866927e-01 1.1208935e+00
1.2779619e-01 -1.1647840e+00]]
A*X-b
[[-1.0491353e+00 -4.6402979e-01 3.9990485e-01 1.6898194e-02
-8.9290392e-01 5.4747212e-01 -1.8346364e+00 -2.0571840e-01
1.1737881e+00 -6.7620528e-01]
[-3.1309032e-01 -8.7974894e-01 -1.6534111e+00 -3.0860972e-01
-3.7324163e-01 -1.1773992e+00 -1.2880903e-01 2.9903699e-02
-9.7183204e-01 1.6465846e+00]
[ 7.8070045e-02 4.8045355e-01 -3.5502389e-01 -5.4816067e-01
-3.3593598e-01 -1.2902775e+00 -7.1700537e-01 2.3319757e-01
2.6523253e-01 9.6195257e-01]
[-1.3487995e+00 2.9576340e-01 -1.3926694e+00 -7.3697028e-04
-9.1540951e-01 1.0862920e-01 -2.2855883e+00 -8.3330281e-02
-1.0731215e+00 -1.2250878e+00]
[-8.2031035e-01 -7.1678942e-01 1.0334648e-01 -1.2177376e+00
-4.4231057e-02 -7.9871207e-01 -1.9866927e-01 -8.7910646e-01
1.2779619e-01 -1.1647840e+00]]
WARNING:tensorflow:From I:\TensorFlow\3.py:45: div (from tensorflow.python.ops.math_ops) is deprecated and will be remov
ed in a future version.
Instructions for updating:
Deprecated in favor of operator or tf.math.divide.
a: [[-0.44818628 -2.6304233 -1.7160052 2.0238476 -0.39415786]
[-0.7398243 3.1942618 5.38006 1.8023189 1.1498046 ]
[ 2.3887103 1.9210685 1.4340501 -0.45060584 -0.90641284]
[ 0.63061017 3.063334 0.17735931 0.44855243 1.676453 ]]
b: [[ 1.8985803 0.87606835 -3.3345618 -1.4218808 -0.8089453 ]
[-2.5922127 -3.2161064 0.02149472 0.71784985 -0.26562917]
[ 0.6057434 1.2970325 1.2207457 1.9657913 2.0542657 ]
[ 3.1395557 0.8850745 -5.2406154 0.7405137 -2.8812637 ]]
a*b [[ -0.85091764 -2.3044307 5.7221255 -2.87767 0.31885216]
[ 1.917782 -10.273086 0.11564291 1.2937944 -0.30542165]
[ 1.4469455 2.4916883 1.7506105 -0.8857971 -1.8620129 ]
[ 1.9798357 2.7112787 -0.92947197 0.33215922 -4.830303 ]]
a scalar_mul b [[-9.8270722e-02 1.0719404e+00 2.7998097e+00 3.3796389e-02
2.1419209e-01 1.0949442e+00 -1.6692730e+00 1.5885632e+00
2.3475761e+00 6.4758945e-01]
[ 1.3738194e+00 -1.7594979e+00 -1.3068224e+00 1.3827806e+00
-7.4648327e-01 -3.5479832e-01 1.7423819e+00 5.9807397e-02
5.6335926e-02 3.2931693e+00]
[ 2.1561401e+00 9.6090710e-01 -7.1004778e-01 9.0367866e-01
-6.7187196e-01 -5.8055508e-01 -1.4340107e+00 2.4663951e+00
5.3046507e-01 1.9239051e+00]
[-6.9759881e-01 5.9152681e-01 -7.8533876e-01 -1.4739406e-03
1.6918096e-01 2.1725839e-01 -2.5711765e+00 -1.6666056e-01
-1.4624310e-01 -4.5017543e-01]
[ 3.5937926e-01 -1.4335788e+00 2.0669296e-01 -2.4354751e+00
1.9115379e+00 4.0257588e-01 -3.9733854e-01 2.4178705e-01
2.5559238e-01 -2.3295679e+00]]
a div b [[-2.3606390e-01 -3.0025320e+00 5.1461190e-01 -1.4233595e+00
4.8724908e-01]
[ 2.8540263e-01 -9.9320775e-01 2.5029678e+02 2.5107186e+00
-4.3286080e+00]
[ 3.9434359e+00 1.4811261e+00 1.1747329e+00 -2.2922364e-01
-4.4123447e-01]
[ 2.0085968e-01 3.4611030e+00 -3.3843223e-02 6.0573143e-01
-5.8184642e-01]]
a mod b [[ 1.450394 0.8738501 -1.7160052 -0.8199141 -0.39415786]
[-0.7398243 -0.02184463 0.00637923 0.36661923 -0.17834127]
[ 0.57148004 0.6240361 0.2133044 1.5151855 1.1478529 ]
[ 0.63061017 0.4081105 -5.0632563 0.44855243 -1.2048107 ]]