我有4个不同时间序列的数据,例如:
[35, 45, 47, 39...]
[47, 60, 57, 55...]
[42, 42, 61, 69...]
[62, 70, 62, 65...]
Run Code Online (Sandbox Code Playgroud)
事情是,除了时间依赖(水平一),还存在垂直依赖(在列中,如果我们看这个例子'矩阵').
输出向量将是这些相同的时间序列,仅移位一步.
是否可以为每个时间序列创建LSTM网络(因此,在我的情况下,4个网络,还有4个输出),但也可以垂直连接它们,即创建2D LSTM?
如果是这样,那么在Tensorflow中如何实现这一目标?
是否也可以使这种网络更深入(将这4个网络中的每一个都附加额外的LSTM层)?
我希望我能够解释清楚.
我正在将我的应用程序移植到 Qt 6,当我阅读文档时,我发现类被清理了很多,QList
并且QVector
是统一的,QStringList
现在是别名QList<QString>
等等。
但现在这给我带来了一个问题。
在我的代码(Qt 5)中,我正在转换QStringList
以QSet
消除列表中的重复项。我浏览了新文档,但还没有找到在 Qt 6 中转换的QList
方法QSet
。
那么如何转换QList
为QSet
?或者这是不可能的,我需要编写一个辅助函数来删除重复项?
编辑:我正在使用 Qt 6.0.1。
我正在尝试在Tensorflow中创建一个生成LSTM网络。我有这样的输入向量:
[[0 0 1 0 ... 1 0]
[0 0 1 0 ... 1 0]
...
[0 0 0 1 ... 0 1]]
Run Code Online (Sandbox Code Playgroud)
此矩阵中的每个向量都是一个时间步长,换句话说,每个向量应该是LSTM的一个输入。输出将是相同的,除了它们将向右移动一个时间步(我正在尝试预测下一个输出)。然后,我列出了这些矩阵,例如五个。这是一批。最后,我有这些批次的清单,这些清单基本上是我的训练数据。所以基本上我有4D张量
我已经尝试做这样的事情,但是显然这是行不通的,而且我不确定我是否会解决该问题:
def LSTM(x_, weights, biases):
cell = tf.contrib.rnn.BasicLSTMCell(RNN_HIDDEN)
# initial state
batch_size = tf.shape(x_)[1]
initial_state = cell.zero_state(batch_size, tf.float32)
rnn_outputs, rnn_states = tf.nn.dynamic_rnn(cell,
x_,
initial_state=initial_state,
time_major=False)
return tf.matmul(rnn_outputs[-1], weights['out']) + biases['out']
Run Code Online (Sandbox Code Playgroud)
那么,我应该如何表示数据,以便网络能够处理它?
另外,我不太确定在这种情况下如何定义损失。我的向量是88维的,其中每个索引代表一个音调。“ 1”表示播放音,“ 0”表示关闭音。另外,当播放特定音调然后再次播放时,我将其标记为“ 2”(为简洁起见,矢量被截断了):
[0 0 1 0]
[0 0 1 0]
[0 0 2 0]
[0 0 2 0]
Run Code Online (Sandbox Code Playgroud)
如果这里仅仅是一个,我将无法分辨是长音还是两个(或三个或四个)短音。这样,我在1s和2s之间交替,每次交替都意味着再次按下音调。
我需要在这里手动计算交叉熵吗?
我正在使用 Pythoncryptography
库,我需要用 RSA 加密一些东西。一切都很好,除了一件事。
当我生成密钥时,我需要以十六进制形式获取模数 n、公共指数和私有指数,以便我可以将它们以自定义格式保存到文件中。这不是用于现实世界的用途,我是为课堂作业而做的。
我搜索了cryptography
有关 RSA 的整个文档,但找不到任何类似的方法get_modulus_or_exponents()
或任何可以暗示类似内容的方法。
我能想到获取这些数字的唯一方法是序列化密钥,然后subprocess
是openssl
命令并以如下形式读取它:
Modulus (2048 bit):
00:98:10:23:16:ff:b6:f4:26:a2:42:a6:19:23:0e:
0f:27:4a:b9:43:3d:a0:4b:b9:1b:1a:57:92:dd:a8:
bc:5d:b8:6e:e6:7f:0f:2e:89:a5:77:16:d1:cf:44:
[...]
f3:0d:5b:90:6b:de:59:58:c9:f4:26:4a:61:b4:52:
21:1d
Exponent: 65537 (0x10001)
Run Code Online (Sandbox Code Playgroud)
解析它,并提取所需的信息。
有没有cryptography
比这种解决方法更好的方法(最好使用的工具)(我是否遗漏了文档中的某些内容?)或者cryptography
真的不允许任何其他方式来获取所需的信息?
编辑:这是我用来生成密钥和加密的代码,与文档示例基本相同:
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import rsa
private_key = rsa.generate_private_key(public_exponent=65537,
key_size=self.key_size * 8,
backend=default_backend()
)
public_key = private_key.public_key()
ciphertext = public_key.encrypt(message, padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA1()),algorithm=hashes.SHA1(),label=None))
Run Code Online (Sandbox Code Playgroud) 这可能是一个有点奇怪的问题,但我真的不知道如何更好地表达它。
我刚刚发现我可以执行以下操作:
#include <iostream>
enum class Colour // also works with plain old enum
{
Red = 1,
Green,
Blue,
Yellow,
Black,
White
};
int main()
{
Colour c = Colour(15); // this is the line I don't quite understand
std::cout << static_cast<int>(c) << std::endl; // this returns 15
return 0;
}
Run Code Online (Sandbox Code Playgroud)
所以现在我在 类型的变量中有整数值 15 Colour
。
这里到底发生了什么?这是某种枚举“构造函数”在起作用吗?据我所知,整数值 15 没有放入枚举中,它仅存储在变量 中c
。首先,为什么这样的东西会有用——创建一个枚举中不存在的值?
这里有一个类似的问题,询问如何使用image_dataset_from_directory()
自动编码器。问题实际上没有答案,因为答案建议使用其他东西。
我的问题是,是否可以用作image_dataset_from_directory()
Keras 中卷积自动编码器的输入?
我有:
QJsonObject obj1({"bla" : "lab"})
QJsonObject obj2({"bla2" : "lab2"})
Run Code Online (Sandbox Code Playgroud)
我需要:
QJsonObject obj3({"bla" : "lab", "bla2" : "lab2"})
Run Code Online (Sandbox Code Playgroud)
或者在 JSON 中:
{
"bla" : "lab"
}
{
"bla2" : "lab2"
}
Run Code Online (Sandbox Code Playgroud)
我需要:
{
"bla" : "lab",
"bla2" : "lab2"
}
Run Code Online (Sandbox Code Playgroud)
如何实现这一目标?
python ×4
c++ ×3
tensorflow ×3
lstm ×2
qt ×2
c++11 ×1
cryptography ×1
enum-class ×1
enums ×1
input ×1
keras ×1
list ×1
qjsonobject ×1
qt5 ×1
qt6 ×1
rsa ×1
set ×1