import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
# 1.初始化计算图,生成数据
sess=tf.Session()
x_vals=np.linspace(0,10,100)
y_vals=x_vals+np.random.normal(0,1,100)
# 2.求逆方法所需的矩阵
x_vals_column=np.transpose(np.matrix(x_vals))
ones_column=np.transpose(np.matrix(np.repeat(1,100)))
# np.stack((a,b),axis = 2) np.dstack((a,b))
# np.stack((a,b),axis = 1) np.hatack((a,b))
# np.stack((a,b),axis = 0) np.vatack((a,b))
# stack(tuple,axis) 在列方向增加一维,堆叠矩阵
# A [[100,2]]
A=np.column_stack((x_vals_column,ones_column))
# A1=np.row_stack((x_vals,y_vals))
# b [[100,1]]
b=np.transpose(np.matrix(y_vals))
# 3.将A和矩阵转换成张量
A_tensor=tf.constant(A)
b_tensor=tf.constant(b)
# 4.op操作 求出转置矩阵,使用tf.matrix_inverse() At*A
tA_A=tf.matmul(tf.transpose(A_tensor),A_tensor)
# 求逆矩阵ATA -1
tA_A_inv=tf.matrix_inverse(tA_A)
# Ax=b,对于矩阵不是方阵,求解的x为x=(ATA)-1ATb
# op乘法运算
product=tf.matmul(tA_A_inv,
TF-cookbook c3求解矩阵参数
最新推荐文章于 2020-12-30 21:45:52 发布