标签: encoder-decoder

Base64字符串到java中的byte []

我试图将base64字符串转换为字节数组,但它抛出以下错误

java.lang.IllegalArgumentException:非法base64字符3a

我试过以下选项userimage是base64字符串

byte[] img1 = org.apache.commons.codec.binary.Base64.decodeBase64(userimage);`

/* byte[] decodedString = Base64.getDecoder().decode(encodedString.getBytes(UTF_8));*/
/* byte[] byteimage =Base64.getDecoder().decode( userimage );*/
/* byte[] byteimage =  Base64.getMimeDecoder().decode(userimage);*/`
Run Code Online (Sandbox Code Playgroud)

java string base64 byte encoder-decoder

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

Keras中具有LSTM的多层Seq2Seq模型

我在keras中创建了seq2seq模型。我建立了单层编码器和解码器,它们工作正常。但是现在我想将其扩展到多层编码器和解码器。我正在使用Keras Functional API构建它。

训练:-

编码器代码:-

encoder_input=Input(shape=(None,vec_dimension))
encoder_lstm=LSTM(vec_dimension,return_state=True,return_sequences=True)(encoder_input)
encoder_lstm=LSTM(vec_dimension,return_state=True)(encoder_lstm)
encoder_output,encoder_h,encoder_c=encoder_lstm
Run Code Online (Sandbox Code Playgroud)

解码器代码:-

encoder_state=[encoder_h,encoder_c]
decoder_input=Input(shape=(None,vec_dimension))
decoder_lstm= LSTM(vec_dimension,return_state=True,return_sequences=True (decoder_input,initial_state=encoder_state)
decoder_lstm=LSTM(vec_dimension,return_state=True,return_sequences=True)(decoder_lstm)
decoder_output,_,_=decoder_lstm
Run Code Online (Sandbox Code Playgroud)

供测试用 :-

encoder_model=Model(inputs=encoder_input,outputs=encoder_state)
decoder_state_input_h=Input(shape=(None,vec_dimension))
decoder_state_input_c=Input(shape=(None,vec_dimension))
decoder_states_input=[decoder_state_input_h,decoder_state_input_c]
decoder_output,decoder_state_h,decoder_state_c =decoder_lstm #(decoder_input,initial_state=decoder_states_input)
decoder_states=[decoder_state_h,decoder_state_c]
decoder_model=Model(inputs=[decoder_input]+decoder_states_input,outputs=[decoder_output]+decoder_states)
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试增加编号时。解码器中的多个层进行训练,然后训练可以正常工作,但对于测试它无效,并会引发错误。

实际上问题是当我将其设置initial_state为多层时,我将其转移到了通常在最后指定的中间层,因此当我在测试期间调用它时,会抛出错误。

RuntimeError: Graph disconnected: cannot obtain value for tensor Tensor("input_64:0", shape=(?, ?, 150), dtype=float32) at layer "input_64".The following previous layers were accessed without issue: []
Run Code Online (Sandbox Code Playgroud)

我应该如何initial_state=decoder_states_input为输入层传递which,以免引发错误。我应该如何通过initial_state=decoder_states_input在第一个输入层的最后一层?

编辑:-

在该代码中,我尝试制作多层解码器LSTM。但这给了错误。使用单层时正确的代码是:-

编码器(培训):-

encoder_input=Input(shape=(None,vec_dimension))
encoder_lstm =LSTM(vec_dimension,return_state=True)(encoder_input)
encoder_output,encoder_h,encoder_c=encoder_lstm
Run Code Online (Sandbox Code Playgroud)

解码器(培训):-

encoder_state=[encoder_h,encoder_c]
decoder_input=Input(shape=(None,vec_dimension))
decoder_lstm= LSTM(vec_dimension, return_state=True, return_sequences=True)
decoder_output,_,_=decoder_lstm(decoder_input,initial_state=encoder_state)
Run Code Online (Sandbox Code Playgroud)

解码器(测试中)

decoder_output,decoder_state_h,decoder_state_c=decoder_lstm( decoder_input, initial_state=decoder_states_input) …
Run Code Online (Sandbox Code Playgroud)

lstm keras tensorflow encoder-decoder seq2seq

8
推荐指数
2
解决办法
1486
查看次数

如何使用拥抱面部转换器为翻译任务训练编码器-解码器模型?

我想为翻译任务训练如下配置的编码器解码器模型。有人可以指导我如何为这样的模型设置训练管道吗?任何链接或代码片段将不胜感激理解。

from transformers import BertConfig, EncoderDecoderConfig, EncoderDecoderModel

# Initializing a BERT bert-base-uncased style configuration
config_encoder = BertConfig()
config_decoder = BertConfig()

config = EncoderDecoderConfig.from_encoder_decoder_configs(config_encoder, config_decoder)

# Initializing a Bert2Bert model from the bert-base-uncased style configurations
model = EncoderDecoderModel(config=config)
Run Code Online (Sandbox Code Playgroud)

machine-translation encoder-decoder huggingface-transformers

7
推荐指数
1
解决办法
986
查看次数

YUV420 从像素指针到 BGR 图像

我正在从 YUV420 解码器捕获原始输出。我分别得到了三个指针:Y(1920*1080)、U(960*540) 和 V(960*540)。

我想使用 OpenCV 将图像保存为 JPEG。我尝试使用 opencv 的 cvtcolor

cv::Mat i_image(cv::Size(columns, rows), CV_8UC3, dataBuffer);
cv::Mat i_image_BGR(cv::Size(columns, rows), CV_8UC3);
cvtColor(i_image, i_image_BGR, cv::COLOR_YCrCb2BGR);
cv::imwrite("/data/data/org.myproject.debug/files/pic1.jpg", i_image_BGR);
Run Code Online (Sandbox Code Playgroud)

但是,这是保存的输出图像:

图片

有人可以建议保存图像的正确方法是什么吗?

YUV 二进制文件供参考

c++ opencv vlc yuv encoder-decoder

6
推荐指数
1
解决办法
5406
查看次数

如何在 Keras 中的两个 LSTM 层之间添加注意层

我正在尝试在编码器 LSTM(多对多)和解码器 LSTM(多对一)之间添加一个注意层。

但是我的代码似乎只为一个解码器 LSTM 输入制作了注意力层。

如何将注意力层应用于解码器 LSTM 的所有输入?(注意力层的输出 = (None,1440,984) )

这是我的模型注意力层的总结。

__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to
==================================================================================================
input_1 (InputLayer)            (None, 1440, 5)      0
__________________________________________________________________________________________________
bidirectional_1 (Bidirectional) (None, 1440, 984)    1960128     input_1[0][0]
__________________________________________________________________________________________________
dense_1 (Dense)                 (None, 1440, 1)      985         bidirectional_1[0][0]
__________________________________________________________________________________________________
flatten_1 (Flatten)             (None, 1440)         0           dense_1[0][0]
__________________________________________________________________________________________________
activation_1 (Activation)       (None, 1440)         0           flatten_1[0][0]
__________________________________________________________________________________________________
repeat_vector_1 (RepeatVector)  (None, 984, 1440)    0           activation_1[0][0]
__________________________________________________________________________________________________
permute_1 (Permute)             (None, 1440, 984)    0           repeat_vector_1[0][0]
__________________________________________________________________________________________________
multiply_1 (Multiply)           (None, 1440, …
Run Code Online (Sandbox Code Playgroud)

lstm keras tensorflow encoder-decoder

6
推荐指数
1
解决办法
715
查看次数

如何在Keras中定义ConvLSTM编码器_解码器?

我见过在 Keras 中使用 LSTM 构建编码器-解码器网络的示例,但我想要一个 ConvLSTM 编码器-解码器,并且由于 ConvLSTM2D 不接受任何“initial_state”参数,因此我可以将编码器的初始状态传递给解码器,我尝试在 Keras 中使用 RNN 并尝试将 ConvLSTM2D 作为 RNN 的单元传递,但出现以下错误:

ValueError: ('`cell` should have a `call` method. The RNN was passed:', <tf.Tensor 'encoder_1/TensorArrayReadV3:0' shape=(?, 62, 62, 32) dtype=float32>)
Run Code Online (Sandbox Code Playgroud)

这就是我尝试定义 RNN 单元的方式:

first_input = Input(shape=(None, 62, 62, 12))
encoder_convlstm2d = ConvLSTM2D(filters=32, kernel_size=(3, 3),
                                    padding='same',
                                    name='encoder'+ str(1))(first_input )
encoder_outputs, state_h, state_c = keras.layers.RNN(cell=encoder_convlstm2d, return_sequences=False, return_state=True, go_backwards=False,
                 stateful=False, unroll=False)
Run Code Online (Sandbox Code Playgroud)

conv-neural-network keras tensorflow recurrent-neural-network encoder-decoder

6
推荐指数
1
解决办法
1393
查看次数

PyTorch:DecoderRNN:RuntimeError:输入必须有 3 维,得到 2

我正在使用 PyTorch 构建一个 DecoderRNN(这是一个图像字幕解码器):

class DecoderRNN(nn.Module):
    def __init__(self, embed_size, hidden_size, vocab_size):

        super(DecoderRNN, self).__init__()
        self.hidden_size = hidden_size
        self.gru = nn.GRU(embed_size, hidden_size, hidden_size)
        self.softmax = nn.LogSoftmax(dim=1)

    def forward(self, features, captions):

        print (features.shape)
        print (captions.shape)
        output, hidden = self.gru(features, captions)
        output = self.softmax(self.out(output[0]))
        return output, hidden 
Run Code Online (Sandbox Code Playgroud)

数据具有以下形状:

torch.Size([10, 200])  <- features.shape (10 for batch size)
torch.Size([10, 12])   <- captions.shape (10 for batch size)
Run Code Online (Sandbox Code Playgroud)

然后我收到以下错误。有什么想法我在这里错过了吗?谢谢!

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-2-76e05ba08b1d> in <module>()
     44         # Pass the inputs through the CNN-RNN model. …
Run Code Online (Sandbox Code Playgroud)

python-3.x encoder-decoder pytorch rnn

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

将初始状态传递到 Keras 中的双向 RNN 层

我正在尝试使用双向 GRU 在 Keras 中实现编码器-解码器类型网络。

下面的代码似乎可以工作

src_input = Input(shape=(5,))
ref_input = Input(shape=(5,))

src_embedding = Embedding(output_dim=300, input_dim=vocab_size)(src_input)
ref_embedding = Embedding(output_dim=300, input_dim=vocab_size)(ref_input)

encoder = Bidirectional(
                GRU(2, return_sequences=True, return_state=True)
        )(src_embedding)

decoder = GRU(2, return_sequences=True)(ref_embedding, initial_state=encoder[1])
Run Code Online (Sandbox Code Playgroud)

但是,当我将解码更改为使用Bidirectional包装器时,它会停止显示encodersrc_inputmodel.summary(). 新的解码器如下所示:

decoder = Bidirectional(
                GRU(2, return_sequences=True)
        )(ref_embedding, initial_state=encoder[1:])
Run Code Online (Sandbox Code Playgroud)

model.summary()双向解码器的输出。

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_2 (InputLayer)         (None, 5)                 0         
_________________________________________________________________
embedding_2 (Embedding)      (None, 5, 300)            6610500   
_________________________________________________________________
bidirectional_2 (Bidirection (None, 5, 4)              3636      
=================================================================
Total …
Run Code Online (Sandbox Code Playgroud)

keras recurrent-neural-network encoder-decoder

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

Windows下如何将Ffmpeg扩展嵌入到Exoplayer中?

由于某些原因,我必须在 Windows 10 操作系统下使用 Android-Studio 作为 IDE 工作。我的问题是,exoplayer 使用 Android-TV 设备的软件和硬件解码器来解码视频流。显然,大多数 Android-TV 设备没有内置解码器来解码 mpeg-2 声音,因此 mpeg-2 流的声音是静音的,但 mpeg-2 视频播放良好。为了解决这样的问题,我相信我必须将 Ffmpeg 扩展嵌入到 exoplayer 中。为此,我按照建议在 Windows PowerShell 下遵循此处的说明,但存在一些问题。

第一:使用 PowerShell 时,Windows 的 HOST_PLATFORM 变量的值应该是多少?第二:由于未知原因,我在执行 Shell 脚本“build_ffmpeg.sh”时收到以下消息。

执行 shell 脚本时收到的信息

现在,我如何为exoplayer(在Windows 10操作系统下)嵌入ffmpeg扩展,使其能够解码并解决这些问题?我的编程语言是java。谢谢。

注意:如果您有任何其他(除了将 Ffmpeg 嵌入到 exoplayer 之外)建议来解决我的问题,请告诉我。

java android decoder exoplayer encoder-decoder

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

仅使用T5型号的编码器部分

我想建立一个只需要语言模型的编码器部分的分类模型。我尝试过Bert、Roberta、xlnet,到目前为止我都成功了。

\n

我现在只想从 T5 测试编码器部分,到目前为止,我找到了 encT5 https://github.com/monologg/EncT5

\n

以及 HuggingFace 的 T5EncoderModel。

\n

谁能帮助我了解 T5EncoderModel 是否是我正在寻找的?

\n

它在描述中说:裸露的 T5 模型变压器输出编码器\xe2\x80\x99s 原始隐藏状态,顶部没有任何特定的头。

\n

这让我有点困惑,特别是 encT5 提到他们实现了编码器部分只是因为它不存在于 HuggingFace 中,这让我更加怀疑。

\n

请注意,我是深度学习的初学者,所以请对我放轻松,我知道任何问题对你们大多数人来说都可能很幼稚。

\n

谢谢

\n

transformer-model deep-learning encoder-decoder pytorch huggingface-transformers

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

seq2seq 中的 TimeDistributed(Dense) 与 Dense

鉴于下面的代码

encoder_inputs = Input(shape=(16, 70))
encoder = LSTM(latent_dim, return_state=True)
encoder_outputs, state_h, state_c = encoder(encoder_inputs)
# We discard `encoder_outputs` and only keep the states.
encoder_states = [state_h, state_c]

# Set up the decoder, using `encoder_states` as initial state.
decoder_inputs = Input(shape=(59, 93))
# We set up our decoder to return full output sequences,
# and to return internal states as well. We don't use the
# return states in the training model, but we will use them in inference.
decoder_lstm = …
Run Code Online (Sandbox Code Playgroud)

lstm keras tensorflow encoder-decoder seq2seq

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