如何在keras中获取tensor的维度尺寸示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计888个文字,预计阅读时间需要4分钟。
在进行keras网络计算时,有时需要根据输入张量的维度来定义自己的层。但由于keras的接口是封闭的,无法直接使用numpy的A.shape来获取维度。可以通过以下方式来获取:
python假设输入张量为A获取维度input_shape=K.int_shape(A)
定义自定义层class CustomLayer(Layer): def __init__(self, **kwargs): super(CustomLayer, self).__init__(**kwargs)
def build(self, input_shape): # 根据input_shape定义层的权重 self.kernel=self.add_weight(name='kernel', shape=(input_shape[-1], output_dim), initializer='uniform', trainable=True)
def call(self, inputs): return K.dot(inputs, self.kernel)
在进行keras 网络计算时,有时候需要获取输入张量的维度来定义自己的层。但是由于keras是一个封闭的接口。因此在调用由于是张量不能直接用numpy 里的A.shape()。这样的形式来获取。这里需要调用一下keras 作为后端的方式来获取。当我们想要操作时第一时间就想到直接用 shape ()函数。其实keras 中真的有shape()这个函数。
本文共计888个文字,预计阅读时间需要4分钟。
在进行keras网络计算时,有时需要根据输入张量的维度来定义自己的层。但由于keras的接口是封闭的,无法直接使用numpy的A.shape来获取维度。可以通过以下方式来获取:
python假设输入张量为A获取维度input_shape=K.int_shape(A)
定义自定义层class CustomLayer(Layer): def __init__(self, **kwargs): super(CustomLayer, self).__init__(**kwargs)
def build(self, input_shape): # 根据input_shape定义层的权重 self.kernel=self.add_weight(name='kernel', shape=(input_shape[-1], output_dim), initializer='uniform', trainable=True)
def call(self, inputs): return K.dot(inputs, self.kernel)
在进行keras 网络计算时,有时候需要获取输入张量的维度来定义自己的层。但是由于keras是一个封闭的接口。因此在调用由于是张量不能直接用numpy 里的A.shape()。这样的形式来获取。这里需要调用一下keras 作为后端的方式来获取。当我们想要操作时第一时间就想到直接用 shape ()函数。其实keras 中真的有shape()这个函数。

