我面临以下问题。我有大量文档要使用双向 LSTM 进行编码。每个文档都有不同数量的单词,单词可以被认为是一个时间步长。
在配置双向 LSTM 时,我们需要提供时间序列长度。当我训练模型时,每个批次的这个值都会不同。我应该为timeseries_size我允许的最大文档大小选择一个数字吗?任何大于这个的文件都不会被编码?
示例配置:
Bidirectional(LSTM(128, return_sequences=True), input_shape=(timeseries_size, encoding_size))
Run Code Online (Sandbox Code Playgroud) 在pytorch中,假设我有2个矩阵,我将如何计算每一行中所有行与另一行中所有行的余弦相似度。
例如
给定输入=
matrix_1 = [a b]
[c d]
matrix_2 = [e f]
[g h]
Run Code Online (Sandbox Code Playgroud)
我希望输出是
输出=
[cosine_sim([a b] [e f]) cosine_sim([a b] [g h])]
[cosine_sim([c d] [e f]) cosine_sim([c d] [g h])]
Run Code Online (Sandbox Code Playgroud)
目前,我正在使用torch.nn.functional.cosine_similarity(matrix_1,matrix_2),该函数返回该行的余弦值,并且仅返回另一个矩阵中的相应行。
在我的示例中,我只有2行,但是我想要一个适用于许多行的解决方案。我什至要处理每个矩阵中的行数不同的情况。
我意识到我可以使用扩展,但是我想在不使用这么大内存的情况下进行扩展。
我是 pytorch 的新手,即使是最简单的网络,我也无法在不生成错误的情况下运行backward()。例如:
(Linear(6, 6)(Variable(torch.zeros([10, 6]))) - Variable(torch.zeros([10, 6]))).backward()
Run Code Online (Sandbox Code Playgroud)
抛出以下错误
{RuntimeError}element 0 of variables does not require grad and does not have a grad_fn
Run Code Online (Sandbox Code Playgroud)
我在代码中做错了什么导致了这个问题?
我正在使用 Angular Material Sidenav组件。
当我提供网页时,侧边栏没有出现(第一张图片)。
但是,当我调整浏览器的大小一段时间时, Sidenav最终会出现(带有汉堡图标的第二张图像),这是所需的状态。
为什么是这样?有没有办法让它默认显示?