小编Eng*_*ero的帖子

如何在基于Keras的LSTM模型中得到每一层的一层权重矩阵?

我有一个基于Keras的简单LSTM模型.

X_train, X_test, Y_train, Y_test = train_test_split(input, labels, test_size=0.2, random_state=i*10)

X_train = X_train.reshape(80,112,12)
X_test = X_test.reshape(20,112,12)

y_train = np.zeros((80,112),dtype='int')
y_test = np.zeros((20,112),dtype='int')

y_train = np.repeat(Y_train,112, axis=1)
y_test = np.repeat(Y_test,112, axis=1)
np.random.seed(1)

# create the model
model = Sequential()
batch_size = 20

model.add(BatchNormalization(input_shape=(112,12), mode = 0, axis = 2))#4
model.add(LSTM(100, return_sequences=False, input_shape=(112,12))) #7 

model.add(Dense(112, activation='hard_sigmoid'))#9
model.compile(loss='binary_crossentropy', optimizer='RMSprop', metrics=['binary_accuracy'])#9

model.fit(X_train, y_train, nb_epoch=30)#9

# Final evaluation of the model
scores = model.evaluate(X_test, y_test, batch_size = batch_size, verbose=0)
Run Code Online (Sandbox Code Playgroud)

我知道如何获得重量列表model.get_weights(),但这是模型完全训练后的值.我希望在每个时代得到权重矩阵(例如,我的LSTM中的最后一层),而不仅仅是它的最终值.换句话说,我有30个时代,我需要获得30个权重矩阵值.

真的,谢谢你,我没有在keras的维基上找到解决方案.

deep-learning lstm keras tensorflow

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

从typename获取type_info

有没有办法std::type_info从类型的名称中获取?例如,

std::type_info f(std::string name) {
std::type_info info; 
...
return info;
}

int main() {
const std::string name = typeid(double).name();
std::type_info info = f(name);
assert(info==typeid(double));
}
Run Code Online (Sandbox Code Playgroud)

这个功能f是什么?

c++ types typeinfo c++11

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

如何随机移动numpy数组的行

我正在寻找一种更 Pythonic 的方式来随机移动 numpy 数组的行。这个想法是我有一个数据数组,我想将数组的每一行左移一个随机数量。我的解决方案有效,但我觉得有点非 Pythonic:

def shift_rows(data, max_shift):
    """Left-shifts each row in `data` by a random amount up to `max_shift`."""
    return np.array([np.roll(row, -np.random.randint(0, max_shift)) for row in data])
Run Code Online (Sandbox Code Playgroud)

并测试:

data = np.array([np.arange(0, 5) for _ in range(10)])  # toy data to illustrate
shifted = shift_rows(data, max_shift=5)
shifted
# array([1, 2, 3, 4, 0],
#       [1, 2, 3, 4, 0],
#       [0, 1, 2, 3, 4],
#       ...
#       [4, 0, 1, 2, 3]])
Run Code Online (Sandbox Code Playgroud)

这更像是一个思想实验。任何人都可以想出一种更有效或更pythonic的方法来做到这一点吗?我想列表推导式是 Pythonic,但是如果我需要在一个巨大的数组上执行此操作,这是否有效?

编辑:我将 Divakar 的精彩回复标记为答案,但如果有人有任何其他想法,我仍然很乐意听到它。

python arrays optimization numpy

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

OMNeT ++ .ini文件参数

我使用OMNeT ++,我有关于.ini文件的这个问题:

为什么我们有时会使用*,有时我们会**用来设置NED模块的参数?

omnet++

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

用于查找行中的数字的正则表达式(Python)

我只是在学习正则表达式,我需要在文本文件中读取并查找数字的每个实例并找到所有数字的总和.

import re

sum = 0
list_of_numbers = list()
working_file = open("sample.txt", 'r')
for line in working_file:
    line = line.rstrip()
    working_list = re.findall('[0-9]+', line)
    if len(working_list) != 1:
        continue
    print(working_list)
    for number in working_list:
        num = int(number)
        list_of_numbers.append(num)
for number in list_of_numbers:
    sum += number
print(sum)
Run Code Online (Sandbox Code Playgroud)

我把它print(working_list)放在试图调试它,看看是否所有数字都被正确找到,我已经看到,通过手动扫描文本文件,一些数字被跳过,而其他数字没有.我很困惑为什么因为我认为我的正则表达式保证任何具有任何数字位数的字符串都将被添加到列表中.

这是文件.

python

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

脉冲响应分析

我对价值加权股票指数和 python 中的几个变量进行了脉冲响应分析,得到了以下结果:

脉冲响应

我不确定如何解释这些结果。任何人都可以帮我吗?

regression python-3.x

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

如何分割字符串?

我正在尝试将字符串拆分为地址,城市,州和邮政编码,但无法成功拆分。

这是我的代码:

address =  "4502 150th Pl SE, Bellevue, WA 98006"
my_add = address.split(',')
street = my_add[0] 
city = my_add[1]
state_zip = my_add[2]
state_zip = state_zip
state = state_zip.split(' ')
print(street)
print(city)
print(state_zip)
print(state)
# 4502 150th Pl SE
#  Bellevue
#  WA 98006
# ['', 'WA', '98006']
Run Code Online (Sandbox Code Playgroud)

我希望该地址将被拆分为:

  • 地址:4502 150th Pl SE
  • 城市:贝尔维尤
  • 状态:WA
  • 邮政编码:98006

谁能帮助我找到最好的解决方案。谢谢

python

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

递归传递lambda

我正在尝试传递lambda。

def summation(n, term):
    if (n == 0):
        return
    else:
        return summation(n - 1, term) + term

print(summation(5, lambda x: x + 1))            
Run Code Online (Sandbox Code Playgroud)

据我了解,lambda x : x + 1将成为termterm将评估到n + 1的功能,但是这是行不通的。谁能向我解释?

python

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

如何连接 2D 列表内的 1D 列表中的字符串以创建具有所有连接值的 1D 列表?

我对 Python 很陌生,我想将保存到一维列表的二维列表中的列表组合起来。一个例子如下:

temp = [['1', '2', '3'], ['4', '5', '6']]
Run Code Online (Sandbox Code Playgroud)

转换成

temp = ['123', '456']
Run Code Online (Sandbox Code Playgroud)

python list concatenation

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

何我在matlab中使这段代码更快?

function [D] = distChiSq( W, X )
%%% find the  Chi2Dist distance between each weight vector and X
% W is nxd
m = size(W,1);  n = size(X,1);
k = size(W,2);
mOnes = ones(1,m); D = zeros(m,n);
for i=1:n
    Xi = X(i,:);  XiRep = Xi( mOnes, : );
    s = XiRep + W;                        /************/
    d = XiRep - W;                        /************/
    D(:,i) = sum( d.^2 ./ (s+eps), 2 );   /************/
end
D = D/2;
Run Code Online (Sandbox Code Playgroud)

这是权重矩阵和数据之间的Chi2距离计算的一部分.标记的行是所有代码中消耗最多的行.有没有办法在MATLAB中更快地完成它?

如果数据是nxm s = nxm, d = …

optimization performance matlab

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