在Keras中定义自定义LSTM Cell? - python

我将Keras与TensorFlow一起用作后端。如果我想对LSTM单元进行修改,例如“移除”输出门,该怎么办?它是一个乘法门,因此我必须将其设置为固定值,以便无论乘以它都没有效果。

参考方案

首先,您应该定义您的own custom layer。如果需要一些直觉如何实现自己的单元,请参阅Keras存储库中的LSTMCell。例如。您的自定义单元将是:

class MinimalRNNCell(keras.layers.Layer):

    def __init__(self, units, **kwargs):
        self.units = units
        self.state_size = units
        super(MinimalRNNCell, self).__init__(**kwargs)

    def build(self, input_shape):
        self.kernel = self.add_weight(shape=(input_shape[-1], self.units),
                                      initializer='uniform',
                                      name='kernel')
        self.recurrent_kernel = self.add_weight(
            shape=(self.units, self.units),
            initializer='uniform',
            name='recurrent_kernel')
        self.built = True

    def call(self, inputs, states):
        prev_output = states[0]
        h = K.dot(inputs, self.kernel)
        output = h + K.dot(prev_output, self.recurrent_kernel)
        return output, [output]

然后,使用tf.keras.layers.RNN使用您的单元格:

cell = MinimalRNNCell(32)
x = keras.Input((None, 5))
layer = RNN(cell)
y = layer(x)

# Here's how to use the cell to build a stacked RNN:

cells = [MinimalRNNCell(32), MinimalRNNCell(64)]
x = keras.Input((None, 5))
layer = RNN(cells)
y = layer(x)

Keras:ModelCheckpoint保存到变量而不是文件? - python

我想针对X个时期训练我的模型,并以最小的验证错误获得最佳结果。我发现的解决方案是使用ModelCheckpoint回调,如果当前纪元的结果更好,则可以将其配置为覆盖模型保存。但是,在最坏的情况下,这意味着在每个时期都将模型写入硬盘驱动器,这会产生巨大的时间开销。是否可以将模型保存到变量中,所以我只需要保存一次?还是我可以做另一种优化? 参考方案 根据save…

Keras:找出层数 - python

有没有一种方法可以获取Keras模型中的层数(而不是参数)?model.summary()非常有用,但是从中获取层数并不容易。 参考方案 model.layers将为您提供所有图层的列表。因此,该数字为len(model.layers)

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Python:图像处理可产生皱纹纸效果 - python

也许很难描述我的问题。我正在寻找Python中的算法,以在带有某些文本的白色图像上创建皱纹纸效果。我的第一个尝试是在带有文字的图像上添加一些真实的皱纹纸图像(具有透明度)。看起来不错,但副作用是文本没有真正起皱。所以我正在寻找更好的解决方案,有什么想法吗?谢谢 参考方案 除了使用透明性之外,假设您有两张相同尺寸的图像,一张在皱纹纸上明亮,一张在白色背景上有深…

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…