小编use*_*123的帖子

如何将 LSTM 自动编码器应用于变长时间序列数据?

我在本教程中阅读了 LSTM-autoencoder:https://blog.keras.io/building-autoencoders-in-keras.html,并在下面粘贴相应的 keras 实现:

from keras.layers import Input, LSTM, RepeatVector
from keras.models import Model

inputs = Input(shape=(timesteps, input_dim))
encoded = LSTM(latent_dim)(inputs)

decoded = RepeatVector(timesteps)(encoded)
decoded = LSTM(input_dim, return_sequences=True)(decoded)

sequence_autoencoder = Model(inputs, decoded)
encoder = Model(inputs, encoded)
Run Code Online (Sandbox Code Playgroud)

在此实现中,他们将输入固定为形状 (timesteps, input_dim),这意味着时间序列数据的长度固定为timesteps。如果我没记错的话,RNN/LSTM 可以处理可变长度的时间序列数据,我想知道是否可以以某种方式修改上面的代码以接受任何长度的数据?

谢谢!

neural-network autoencoder deep-learning lstm keras

5
推荐指数
1
解决办法
3487
查看次数

IPython notebook:如何重新加载特定Python文件中的所有模块?

我在文件中定义了许多模块,并添加from myFile import *到我的ipython笔记本的第一行,以便我可以将它用作此笔记本中其他部分的依赖项.

目前我的工作流程是:

  1. 修改 myFile
  2. 重启Ipython内核
  3. 重新运行Ipython中的所有代码.

有谁知道是否有办法重新加载所有模块myFile而无需重启Ipython内核?谢谢!

python ipython ipython-notebook

4
推荐指数
2
解决办法
2889
查看次数

Keras:带有自定义损失函数的错误加载模型

我定义了一个自定义损失函数如下:

weight_for_hierarchical_error = K.variable(np.ones(16))

def mse_weighted(y_true, y_pred):
    return K.mean(weight_for_hierarchical_error * K.square(y_pred - y_true), axis=-1)
Run Code Online (Sandbox Code Playgroud)

当我将模型保存在 hdf5 文件中,然后尝试使用 加载它时load_model,我收到以下错误信息:

ValueError: Unknown loss function:mse_weighted

有谁知道如何解决这个问题?

谢谢!

python deep-learning keras

4
推荐指数
1
解决办法
3262
查看次数

如何使用屏蔽层屏蔽 LSTM 自动编码器中的输入/输出?

我正在尝试使用 LSTM 自动编码器以可变长度的序列作为输入进行序列到序列学习,使用以下代码:

inputs = Input(shape=(None, input_dim))
masked_input = Masking(mask_value=0.0, input_shape=(None,input_dim))(inputs)
encoded = LSTM(latent_dim)(masked_input)

decoded = RepeatVector(timesteps)(encoded)
decoded = LSTM(input_dim, return_sequences=True)(decoded)
sequence_autoencoder = Model(inputs, decoded)
encoder = Model(inputs, encoded)
Run Code Online (Sandbox Code Playgroud)

其中inputs原始序列数据用 0 填充到相同的长度 ( timesteps)。使用上面的代码,输出的长度也是timesteps,但是当我们计算损失函数时,我们只需要Ni输出的第一个元素(其中Ni是输入序列 i 的长度,对于不同的序列可能不同)。有谁知道是否有一些好的方法可以做到这一点?

谢谢!

machine-learning autoencoder deep-learning lstm keras

3
推荐指数
1
解决办法
3256
查看次数