Module: tf.linalg | TensorFlow Core v2.3.0
0. 模型设计:可以设计一个
class inference(tf.keras.layers.Layer): inference定义神经网络的前向传播过程,实现了模型设计里面的网络结构可以自己定义.分离inference模块,有利于程序的可读性和操作性。高内聚,低耦合? __init__(): 设计不同的功能模块基本框架有什么,不需要连接,单纯的列出需要哪些层,即构造模型框架的方块部分,箭头的连接先不用构造,在__call__()中进行连接
1. tf.keras.layers.Concatenate 连接前面两个层的输出
x1 = tf.keras.layers.Dense(8)(np.arange(10).reshape(5, 2))
x2 = tf.keras.layers.Dense(8)(np.arange(10, 20).reshape(5, 2))
concatted = tf.keras.layers.Concatenate()([x1, x2])
# ()先进行了实例化,调用__init__()函数,只是没用参数,[x1, x2]是调用__call__()函数的参数
2. Module: tf.linalg 对tensor的最后一维构造对角矩阵
Operations for linear algebra.线性代数的运算,矩阵相关这里找
tf.linalg.tensor_diag() #(1, 217, 30)=>(1, 217, 30, 1, 217, 30) 有点问题
# tf.linalg.LinearOperatorDiag:性构造器的作用类似于[批量]平方对角矩阵。
StuFactor0 = tf.linalg.LinearOperatorDiag(SEmb) # (1, 217, 30)-->(1, 217, 30, 30)
StuFactor = StuFactor0.to_dense()
# 这个是可以的,批处理?...