小编Ale*_*ara的帖子

为 Keras 序列模型添加手工制作的特征

我有一个一维序列,我想将其用作 KerasVGG分类模型的输入,拆分为x_trainx_test。对于每一个序列,我也有自定义功能存储在feats_trainfeats_test我不想要输入到卷积层,但是与第一完全连接层。

因此,一个完整的训练或测试样本将由一个一维序列加上 n 个浮点特征组成。

首先将自定义特征提供给全连接层的最佳方法是什么?我想过将输入序列和自定义特征连接起来,但我不知道如何在模型内部将它们分开。还有其他选择吗?

没有自定义功能的代码:

x_train, x_test, y_train, y_test, feats_train, feats_test = load_balanced_datasets()

model = Sequential()
model.add(Conv1D(10, 5, activation='relu', input_shape=(timesteps, 1)))
model.add(Conv1D(10, 5, activation='relu'))
model.add(MaxPooling1D(pool_size=2))
model.add(Dropout(0.5, seed=789))

model.add(Conv1D(5, 6, activation='relu'))
model.add(Conv1D(5, 6, activation='relu'))
model.add(MaxPooling1D(pool_size=2))
model.add(Dropout(0.5, seed=789))

model.add(Flatten())

model.add(Dense(512, activation='relu'))
model.add(Dropout(0.5, seed=789))
model.add(Dense(2, activation='softmax'))

model.compile(loss='logcosh', optimizer='adam', metrics=['accuracy'])

model.fit(x_train, y_train, batch_size=batch_size, epochs=20, shuffle=False, verbose=1)

y_pred = model.predict(x_test)
Run Code Online (Sandbox Code Playgroud)

python machine-learning deep-learning keras tensorflow

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

返回Keras中EarlyStopping回调的时期数

有什么方法可以返回使用EarlyStopping回调时在Keras中停止训练的时期数?

我可以获取训练和验证损失的日志,并使用耐心参数自己计算时间段数,但是还有更直接的方法吗?

python machine-learning neural-network keras tensorflow

6
推荐指数
2
解决办法
1603
查看次数

Java - 从lambda中更改最终变量的值

在Java中,我有以下代码

List<Integer> myList = new ArrayList<>();
for (int i=0;i<9;i++) {
    myList.add(i);
}

Integer sum = 0;

myList.forEach(i -> {
    sum = sum + i; // does not compile, sum needs to be final or effectively final
});   

for(int i : myList) {
    sum = sum + i; //runs without problems
} 
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么我不能在lambda中改变sum的值?它与下面的for循环完全相同,或者我错了?有趣的是,如果我将main方法之外的整数和声明为静态,它也可以.谁能解释我为什么?

编辑:在另一个类似的问题Java 8支持闭包,答案似乎是:

它是向后兼容性和项目资源约束的组合.

但是,我仍然无法理解为什么它可以工作,如果我将数组和数组或我在main之外声明它.我还想了解下面的myList.forEach和for循环之间有什么区别,为什么一个有效,另一个没有.

java foreach lambda anonymous-inner-class

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

将带有 Numpy Nd-Array 值的 Python 字典写入 Json 文件的有效方法

如何有效地编写 Python 字典,其中值是 Numpy Nd-Arrays 到 Json 文件?我收到一条错误消息,指出 Numpy Nd-Array 不是 Json-Serializable。有什么办法可以克服这个问题吗?

python dictionary numpy multidimensional-array

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

Keras vis:如何处理多个输入

对于涉及多个输入的神经网络,有没有办法在Keras-vis 中可视化神经网络注意力?

在最简单的情况下,有两个输入,input_ainput_bDense在每个输入上应用一个层,合并结果并使用另一个Dense层将它们映射到其中一个类。可以在所有输入中可视化注意力。

python neural-network keras tensorflow

5
推荐指数
0
解决办法
363
查看次数

在 Plotly Python 中使用时间滑块绘制连续直方图

我每天从数据中生成两个直方图,一个具有所需的值,另一个具有不同站点的达到值。我想并排绘制这些直方图,就像此处 Plotly 中底部的粉红色示例一样(请参阅源代码链接)。但是,由于两个直方图都是每天生成的,因此我需要向图中添加一个时间滑块,例如Plotly的底部示例“简单滑块”(请参阅源代码链接)。

我的问题是第一个例子使用

fig = dict(data=data, layout=layout)
plotly.offline.plot(fig, filename='Sine Wave Slider')
Run Code Online (Sandbox Code Playgroud)

绘制直方图,而对于滑块,使用以下内容:

import plotly.graph_objs as go
fig = go.Figure(data=data, layout=layout)
plotly.offline.plot(fig, filename='styled histogram')
Run Code Online (Sandbox Code Playgroud)

我的(未运行)代码现在看起来像这样,我尝试将相同的 2 个直方图绘制 3 次。如何更改代码以生成同时使用直方图(均具有不同的随机数据)和滑块的图形?

import plotly
import plotly.graph_objs as go
import numpy as np

x0 = np.random.randn(500)
x1 = np.random.randn(500)+1

trace1 = go.Histogram(
    x=x0,
    histnorm='count',
    name='control',
    autobinx=False,
    xbins=dict(
        start=-3.5,
        end=3.0,
        size=0.5
    ),
    marker=dict(
        color='#FFD7E9',
    ),
    opacity=0.75
)
trace2 = go.Histogram(
    x=x1,
    name='experimental',
    autobinx=False,
    xbins=dict(
        start=-2.0,
        end=5,
        size=0.5 …
Run Code Online (Sandbox Code Playgroud)

python histogram plotly

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

使用 Librosa 进行动态时间扭曲的最小距离

当使用 Librosa 库计算两个时间序列之间的动态时间扭曲矩阵时,如何获得两个信号之间的最小距离?在Matlab 中,第一个返回的参数是这个距离。在Librosa 中,返回值是累积成本矩阵,注释为“D[N,M] 是总对齐成本”。

这是否意味着D矩阵的右下方条目是两个时间序列之间的最小距离,就像Matlab中的返回值一样?如果没有,我如何获得与返回矩阵的距离?

python audio matlab matrix librosa

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