小编nam*_*nam的帖子

在Keras中,如何获取LSTM层的3D输入和3D输出

在我原来的环境中

X1 = (1200,40,1)
y1 = (1200,10)
Run Code Online (Sandbox Code Playgroud)

然后,我可以完美地使用我的代码:

model = Sequential()
model.add(LSTM(12, input_shape=(40, 1), return_sequences=True))
model.add(LSTM(12, return_sequences=True))
model.add(LSTM(6, return_sequences=False))
model.add((Dense(10)))
Run Code Online (Sandbox Code Playgroud)

现在,我进一步获得了另一个与X1和相同大小的时间序列数据y1。即

X2 = (1200,40,1)
y2 = (1200,10)
Run Code Online (Sandbox Code Playgroud)

现在,我叠X1X2并且y1y2作为3D阵列:

X_stack = (1200,40,2)
y_stack = (1200,10,2)
Run Code Online (Sandbox Code Playgroud)

然后,我尝试修改我的keras代码,例如:

model = Sequential()
model.add(LSTM(12, input_shape=(40, 2), return_sequences=True))
model.add(LSTM(12, return_sequences=True))
model.add(LSTM(6, return_sequences=False))
model.add((Dense((10,2))))
Run Code Online (Sandbox Code Playgroud)

我希望我的代码直接与3D数组一起使用X_stacky_stack而不希望将其重塑为2D数组。您能帮我修改设置吗?谢谢。

python neural-network lstm keras

9
推荐指数
1
解决办法
487
查看次数

定期从矢量构造矩阵

我有一个b包含30个条目的向量.

我想避免使用for循环来构造这样的矩阵:

在此输入图像描述

其中b_ii向量的第n个条目b.

例如,定义向量

b = [2 6 -7 3 1 -4 -1  1 11  8 -4  9  2  0  2 -1  0  4  4  4  2 -4  2  5  1 3  2 -1  1 -2]
Run Code Online (Sandbox Code Playgroud)

我尝试使用for循环的地方是:

A = zeros(5,5);
for i = 1:5
    A(i) = b(i+5);
    A(i+5) = b(i+6);
    A(i+10) = b(i+7);
    A(i+15) = b(i+8);
    A(i+20) = b(i+9);
end
Run Code Online (Sandbox Code Playgroud)

结果是

在此输入图像描述

有没有更快更通用的方法来生成这个矩阵?

matlab matrix vectorization

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

找到一个巨大的ascii文件中包含的最大数字和一组最大数字(用科学计数法)

背景:

(1)这是我从大约700Mb的巨大ascii文件中提取的内容:

0, 0, 0, 0, 0, 0, 0, 0, 3.043678e-05, 3.661498e-05, 2.070347e-05,
    2.47175e-05, 1.49877e-05, 3.031176e-05, 2.12128e-05, 2.817522e-05,
    1.802658e-05, 7.192285e-06, 8.467806e-06, 2.047874e-05, 9.621194e-05,
    4.467542e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000421869,
    5.0003081213, 0.0001938675, 8.70334e-05, 0.0002973858, 0.0003385935,
    8.763598e-05, 2.743326e-05, 0, 0.0001043894, 3.409237e-05, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
Run Code Online (Sandbox Code Playgroud)

(2)我想做两个任务:

(2.1)找到以冒号和分号分隔的数字中的最大值.

它是5.0003081213 …

unix perl awk

0
推荐指数
1
解决办法
425
查看次数

将1到12映射到小数集

我有一个m随机范围从1到12 的向量.

3    12    12     7    10     3     6    12    10    12
Run Code Online (Sandbox Code Playgroud)

我有一个转换表

1 2 3 4 5 6 7 8 9 10 11 12

0.6 0.7 1.8 0.9 0.5 1.6 0.9 1.5 1.8 0.8 0.9 0.5

这意味着,如果m(1)==3,我想改变m(1)1.8.如果m(2)==12,我想改变m(2)0.5.

我可以知道这种转换最快捷的方式是什么?谢谢.

matlab

0
推荐指数
1
解决办法
27
查看次数

标签 统计

matlab ×2

awk ×1

keras ×1

lstm ×1

matrix ×1

neural-network ×1

perl ×1

python ×1

unix ×1

vectorization ×1