为什么 Keras (Tensorflow 2.0) 模型在绘制时不包括矩阵乘法的变量?
Why does the Keras (Tensorflow 2.0) model does not include the variables of matrix multiplication, when plotted?
我正在使用以下代码在 Keras (Tensorflow 2.0) 中构建深度学习模型。
import tensorflow as tf
keras = tf.keras
from keras.layers import Input, Dense
from keras.models import Model
a = Input(shape=(138,7), name='inputP')
b = Input(shape=(138,7), name='inputQ')
c = tf.transpose(b, [0,2,1])
d = tf.matmul(c,a)
e = Dense(15,activation = 'relu')(d)
model = Model([a,b],e)
keras.utils.plot_model(model)
生成以下输出:
此处,inputP 未包含在绘制的图形中。可能是什么原因?
为了使 plot_model
正常工作,用 lambda 层替换所有那些张量流操作,如 tf.transpose
和 tf.matmul
,这样函数 API 中的每个节点都是一个 keras层,即
import tensorflow as tf
a = tf.keras.Input((138,7), name='inputP')
b = tf.keras.Input((138,7), name='inputQ')
c = tf.keras.layers.Lambda(lambda x: tf.transpose(x, [0,2,1]),name='transpose')(b)
d = tf.keras.layers.Lambda(lambda x: tf.matmul(x[0],x[1]),name='matmul')([c,a])
e = tf.keras.layers.Dense(15,activation = 'relu')(d)
model = tf.keras.Model([a,b],e)
tf.keras.utils.plot_model(model)
我正在使用以下代码在 Keras (Tensorflow 2.0) 中构建深度学习模型。
import tensorflow as tf
keras = tf.keras
from keras.layers import Input, Dense
from keras.models import Model
a = Input(shape=(138,7), name='inputP')
b = Input(shape=(138,7), name='inputQ')
c = tf.transpose(b, [0,2,1])
d = tf.matmul(c,a)
e = Dense(15,activation = 'relu')(d)
model = Model([a,b],e)
keras.utils.plot_model(model)
生成以下输出:
此处,inputP 未包含在绘制的图形中。可能是什么原因?
为了使 plot_model
正常工作,用 lambda 层替换所有那些张量流操作,如 tf.transpose
和 tf.matmul
,这样函数 API 中的每个节点都是一个 keras层,即
import tensorflow as tf
a = tf.keras.Input((138,7), name='inputP')
b = tf.keras.Input((138,7), name='inputQ')
c = tf.keras.layers.Lambda(lambda x: tf.transpose(x, [0,2,1]),name='transpose')(b)
d = tf.keras.layers.Lambda(lambda x: tf.matmul(x[0],x[1]),name='matmul')([c,a])
e = tf.keras.layers.Dense(15,activation = 'relu')(d)
model = tf.keras.Model([a,b],e)
tf.keras.utils.plot_model(model)