小编Nas*_*Ben的帖子

Keras自定义决策阈值,用于精确和召回

我正在使用Keras(使用Tensorflow后端)进行二进制分类,我有大约76%的精度和70%的召回率.现在我想尝试使用决策阈值.据我所知,Keras使用决策阈值0.5.有没有办法Keras使用自定义阈值来决策精度和召回?

感谢您的时间!

python classification machine-learning keras tensorflow

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

在多变量时间序列上输入LSTM

我正在尝试使用LSTM进行多变量数据的时间序列预测.我有500个样本,15个维度.我想使用回顾10. LSTM层的输入形状是什么.那将会

(samples,look back,dimension) = (50000,10,15) 
Run Code Online (Sandbox Code Playgroud)

要么

(samples,dimension, look back) = (50000,15,10)
Run Code Online (Sandbox Code Playgroud)

我正在使用Keras.

time-series lstm keras

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

TypeError:模型的输出张量必须是Keras张量

我想拍摄输入图像img(也有负值)并将其输入两个激活层.但是,我想做一个简单的转换,例如将整个图像乘以-1.0:

left = Activation('relu')(img)
right = Activation('relu')(tf.mul(img, -1.0))
Run Code Online (Sandbox Code Playgroud)

如果我这样做,我得到:

TypeError: Output tensors to a Model must be Keras tensors. Found: Tensor("add_1:0", shape=(?, 5, 1, 3), dtype=float32)
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题.是否有一个Keras侧面mul(),我可以使用这种事的方法?或者tf.mul(img, -1.0)我可以以某种方式包装结果,以便我可以传递给它Activation

请注意:负值可能很重要.因此,将图像转换为最小值简直0.0不是解决方案.


我得到了同样的错误

left = Activation('relu')(conv)
right = Activation('relu')(-conv)
Run Code Online (Sandbox Code Playgroud)

同样的错误:

import tensorflow as tf

minus_one = tf.constant([-1.])

# ...

    right = merge([conv, minus_one], mode='mul')
Run Code Online (Sandbox Code Playgroud)

python keras

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

Keras回调EarlyStopping比较培训和验证损失

我在Python Keras中安装了神经网络。

为了避免过度拟合,我想监视训练/验证损失并创建适当的回调,当训练损失远小于验证损失时,该回调将停止计算。

回调的示例是:

callback = [EarlyStopping(monitor='val_loss', value=45, verbose=0, mode='auto')]
Run Code Online (Sandbox Code Playgroud)

与验证损失相比,训练损失过少时,有什么方法可以停止训练?

先感谢您

python neural-network keras tensorflow

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

keras 中的 fit_generator:batch_size 在哪里指定?

嗨,我不明白 keras fit_generator 文档。

我希望我的困惑是理性的。

batch_size和也有分批训练的概念。使用model_fit(),我指定 abatch_size为 128。

对我来说,这意味着我的数据集将一次输入 128 个样本,从而大大减轻记忆。只要我有时间等待,它应该允许训练 1 亿个样本数据集。毕竟,keras 一次只能“处理”128 个样本。对?

但我高度怀疑,batch_size单独指定并不能做我想要的任何事情。大量内存仍在使用中。为了我的目标,我需要每批训练 128 个例子。

所以我猜这是什么fit_generator。我真的很想问问为什么batch_size实际上不像它的名字所暗示的那样工作?

更重要的是,如果fit_generator需要,我在哪里指定batch_size?文档说无限循环。生成器在每一行上循环一次。我如何一次循环 128 个样本并记住我上次停止的位置并在下次 keras 要求下一批的起始行号(第一批完成后第 129 行)时回忆起它。

keras tensorflow

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

用于 RNN 的 Keras get_weight 解释

当我使用 Keras 运行此代码时:

networkDrive = Input(batch_shape=(1,length,1))
network = SimpleRNN(3, activation='tanh', stateful=False, return_sequences=True)(networkDrive)

generatorNetwork = Model(networkDrive, network)

predictions = generatorNetwork.predict(noInput, batch_size=length)


print(np.array(generatorNetwork.layers[1].get_weights()))
Run Code Online (Sandbox Code Playgroud)

我得到这个输出

[array([[ 0.91814435,  0.2490257 ,  1.09242284]], dtype=float32)
 array([[-0.42028981,  0.68996912, -0.58932084],
       [-0.88647962, -0.17359462,  0.42897415],
       [ 0.19367599,  0.70271438,  0.68460363]], dtype=float32)
 array([ 0.,  0.,  0.], dtype=float32)]
Run Code Online (Sandbox Code Playgroud)

我想,(3,3) 矩阵是权重矩阵,将 RNN 单元相互连接起来,两个数组之一可能是偏差但第三个是什么?

neural-network keras recurrent-neural-network rnn

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

错误:从 keras.preprocessing.text 导入 base_filter

我刚开始使用 Keras。刚刚尝试导入 base_filter 进行文本预处理。我做了:

from keras.preprocessing.text import base_filter
Run Code Online (Sandbox Code Playgroud)

我有错误:

ImportError: cannot import name 'Base_filter'
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,我进行了谷歌搜索,但找不到任何答案。有谁知道出了什么问题?base_filter 在哪里位于 keras

多谢。

python keras

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