Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 要检查Keras层内的中间操作吗_Tensorflow - Fatal编程技术网

Tensorflow 要检查Keras层内的中间操作吗

Tensorflow 要检查Keras层内的中间操作吗,tensorflow,Tensorflow,在卷积运算过程中,我将代码移植到仅支持半精度的嵌入式处理器上时,面临浮点分辨率损失的问题,因此我想测试在基于Keras的模型中逐层执行的中间操作,该模型在桌面上以全精度运行时表现良好 在下面的代码片段中,我想计算1500x3形状的输入数据上的1DConv。内核大小为10,内核形状为(10x3x16) 为了计算一维卷积,Keras在输入形状上展开维数,并向其再添加一个维数,这就适合于二维卷积运算 Input_sequence = keras.layers.Input(shape=(1500,3))

在卷积运算过程中,我将代码移植到仅支持半精度的嵌入式处理器上时,面临浮点分辨率损失的问题,因此我想测试在基于Keras的模型中逐层执行的中间操作,该模型在桌面上以全精度运行时表现良好

在下面的代码片段中,我想计算1500x3形状的输入数据上的1DConv。内核大小为10,内核形状为(10x3x16)

为了计算一维卷积,Keras在输入形状上展开维数,并向其再添加一个维数,这就适合于二维卷积运算

Input_sequence = keras.layers.Input(shape=(1500,3))
encoder_conv1 = keras.layers.Conv1D(filters=16, kernel_size=10, 
                                    padding='same', use_bias=False, 
                                    activation=None)(Input_sequence)
然后调用一系列操作,例如Conv2D,然后是挤压,最后是biaadd。 最后,Conv1D层的输出被推入 conv1d_20/Elu

请查看随附的图片,了解有关操作的完整说明

现在,我想在产生层的实际输出之前测试输出

请参阅以下代码:

Input_sequence = keras.layers.Input(shape=(1500,3))
encoder_conv1 = keras.layers.Conv1D(filters=16, kernel_size=10, padding='same', activation=tf.nn.elu)(Input_sequence)
模型摘要显示:

Model: "model_5"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_5 (InputLayer)         [(None, 1500, 3)]         0         
_________________________________________________________________
conv1d_20 (Conv1D)           (None, 1500, 16)          496  
我想在conv1d_20/Conv2D定义模型输出,但它给了我错误。但以下内容在汇编时被接受

encoder = keras.Model(inputs=autoencoder.input, outputs=autoencoder.get_layer('conv1d_20').output)
encoder.get_output_at(0)
它输出

<tf.Tensor 'conv1d_20/Elu:0' shape=(?, 1500, 16) dtype=float32>

我想测试Conv2D操作的输出,但它会生成conv1d_20/Elu的输出

我怎样做这个测试。请帮帮我

在定义
Conv1D
操作时,您可以禁用偏差(
use_bias=False
)和激活功能(
activation=None

Input_sequence = keras.layers.Input(shape=(1500,3))
encoder_conv1 = keras.layers.Conv1D(filters=16, kernel_size=10, 
                                    padding='same', use_bias=False, 
                                    activation=None)(Input_sequence)