deep-learning相关内容

深度学习:从一开始就在培训和验证损失之间存在巨大差异

我的神经网络是本文提出的模型的略微修改版本: https://arxiv.org /pdf/1606.01781.pdf 我的目标是将文本分类为9个不同的类别.我正在使用29个卷积层,并将任何文本的最大长度设置为256个字符. 训练数据有900k个样本,验证数据有35k个样本.数据非常不平衡,因此我做了一些数据扩充来平衡训练数据(显然没有触及验证数据),然后在训练中使用了班级权重. ..

对CNN使用不同的目标向量

我希望使用不同的目标向量(不是标准的一键编码)来训练我的CNN.我的图像数据位于10个不同的文件夹(10个不同的类别)中.如何使用所需的目标向量? flow_from_directory()输出一键编码的标签数组.我将标签向量存储在字典中.另外,如果有帮助,文件夹的名称就是标签. 解决方案 您可能知道 ImageDataGenerator 是python生成器(如果您不熟悉python生成 ..
发布时间:2020-04-25 10:54:32 Python

Keras:验证错误是衡量终止标准或验证准确性的好方法吗?

我正在使用Keras进行多类分类问题.我将EarlyStopping(monitor='val_loss', patience=4)用作学习的停止标准,也就是说,如果4个纪元的验证损失没有减少,则训练停止.最好使用val_acc作为停止条件或val_loss?因为我看到val_loss增加了,但是val_acc也增加了.考虑以下第8和第13阶段的输出. Epoch 1/200 240703/ ..
发布时间:2020-04-25 10:54:16 AI人工智能

如何在2D张量的第二维上使用Tensorflows scatter_nd?

TL; DR:如何将每个实例2个标签的2D二进制张量拆分为每个实例仅1个标签的2个张量,如下图所示: 作为自定义损失函数的一部分,我试图将每个实例2个标签的多标签y张量拆分为每个实例1个标签的2个y张量. 当我在1D y张量上执行此代码时,此代码非常有用: y_true = tf.constant([1., 0., 0., 0., 1., 0., 0., 0., 0.]) label_ ..
发布时间:2020-04-25 10:54:14 AI人工智能

Keras模型似乎不起作用

我有以下keras模型,当我训练模型时,似乎没有从中学习的经验.我四处询问,并得到不同的建议,例如权重未正确初始化或反向传播未发生.该模型是: model.add(Conv2D(32, (3, 3), kernel_initializer='random_uniform', activation='relu', input_shape=(x1, x2, depth))) model.add( ..
发布时间:2020-04-25 10:54:09 Python

keras图像数据生成器.flow_from_directory(directory)统一/合并类

我正在将Python与Keras和ImageDataGenerator结合使用,以从目录生成图像.我大约有20堂课,我想以某种方式统一它们.例如,类别1-4是x,而类别5-8是y. 可以在flow_from_directory中做到这一点吗?还是我必须根据统一类的需要对目录进行不同的拆分(例如,将目录1-4合并到dir x)? 解决方案 我认为没有内置的方法.但是,一种替代方法是将生成器包 ..

BCEWithLogitsLoss在凯拉斯

如何在keras中实现BCEWithLogitsLoss并将其用作自定义损失函数,同时将Tensorflow作为后端. 我在torch中定义的PyTorch中使用了BCEWithLogitsLoss. 如何在Keras中实现相同功能? 解决方案 在TensorFlow中,您可以直接调用如果您想使用Keras API,请使用 tf.losses.BinaryCrossentrop ..
发布时间:2020-04-25 10:52:24 Python

如何为KERAS多标签问题提供DataGenerator?

我正在使用KERAS处理多标签分类问题. 当我执行这样的代码时,出现以下错误: ValueError:检查目标时出错:期望activation_19具有2个维,但数组的形状为(32,6,6) 这是因为我的标签字典中的列表充满了"0"和"1",这与我最近了解到的return语句中的keras.utils.to_categorical不匹配. softmax也不能处理多个"1". 我 ..

如何在Keras中将具有不同输入大小的两个LSTM层组合在一起?

我有两种类型的输入序列,其中input1包含50个值,而input2包含25个值.我尝试使用功能性API中的LSTM模型来组合这两种序列类型.但是,由于我的两个输入序列的长度不同,所以我想知道我当前正在执行的方法是否正确.我的代码如下: input1 = Input(shape=(50,1)) x1 = LSTM(100)(input1) input2 = Input(shape=(25,1 ..
发布时间:2020-04-25 10:50:19 Python

时间分布LSTM结果的前k个分类准确性

我正在尝试使用top_k_categorical_accuracy评估LSTM的结果. 对于每个“一键编码"令牌,我尝试预测下一个令牌.为此,我使用TimeDistributed层包装器获取序列中每个实例的输出,并将其传递到Dense层以将结果重新编码为相同的一键编码. 虽然使用内置精度度量标准metrics=['accuracy']可以顺利进行,但是使用top_k_categoric ..
发布时间:2020-04-25 10:49:36 其他开发

优化过程中卡拉斯卡住了

尝试使用CIFAR10上的Keras示例后,我决定尝试更大的东西:小型Imagenet 数据集.这是ImageNet数据集的子集,具有200个类别(而不是1000个类别),并且100K图像降级为64x64. 我从文件vgg_like_convnet.py 此处中获得了类似于VGG的模型.不幸的是,事情变得很像此处,只是这次改变了学习率或交换了TH对于TF没有帮助.都不更改优化器(请参见下面的 ..

在Keras上的前几个时期,神经网络并没有学习

我正在使用TensorFlow后端在Keras上测试简单网络,但在使用S型激活功能时遇到了问题 对于前5到10个时期,网络没有学习,然后一切正常. 我尝试使用初始化程序和正则化程序,但这只会使情况变得更糟. 我使用这样的网络: import numpy as np import keras from numpy import expand_dims from keras.prep ..