neural-network相关内容
我正在训练DQN来玩OpenAI的Atari环境,但是我网络的Q值迅速爆炸,远远超过了实际值. 这是代码的相关部分: for state, action, reward, next_state, done in minibatch: if not done: # To save on memory, next_state is just one
..
Keras是否具有内置方法来输出(和以后绘制)单个时期训练期间的损耗演变? 使用函数keras.callbacks.History()的常用方法可以为每个时期输出损失.但是在我的情况下,训练集相当大,因此我将单个纪元传递给了NN.由于我想绘制训练期间训练(和开发人员)损失的演变情况,有没有办法做到这一点? 我目前正在通过以下方式解决此问题:将训练集划分为不同的批次,然后在一个时期内依次
..
我是keras的新用户,并尝试实现LSTM模型.为了进行测试,我按如下所示声明了该模型,但是由于输入尺寸的差异,该模型失败了.尽管我在该站点中发现了类似的问题,但我自己找不到错误. ValueError: Error when checking model input: expected lstm_input_4 to have 3 dimensions, but got array w
..
在keras或tensorflow中是否存在一种方法,如果仅对样本进行了错误分类,则可以赋予它们额外的权重. IE.类权重和样本权重的组合,但仅将样本权重应用于二元类的结果之一? 解决方案 是的,有可能.在下面,您可以找到一个示例,该示例如何为真阳性,假阳性,真阴性等添加额外权重: def reweight(y_true, y_pred, tp_weight=0.2, tn_weig
..
Keras有许多不同的合并输入的方式,例如Add(),Subtract(),Multiply(),concatenate()等... 它们是否都具有相同的效果,或者在某些情况下更可取? 解决方案 这实际上取决于您要实现的目标,但简要地让我们看一下不同的合并层以及它们通常用于什么目的: 添加加法是使用relu激活功能的网络的常见合并操作,因为和也为正,并且可以对OR操作进行编码.
..
对于我拥有的每个输入,我都有一个49x2的矩阵.这是1对输入输出对的样子 input : [Car1, Car2, Car3 ..., Car118] output : [[Label1 Label2] [Label1 Label2] ... [Label1 Label2]] 其中Label1和Label2均为LabelEncode,它们分别具有1200和1300个不同
..
我有一个2D输入(如果考虑样本数,则为3D),我想应用一个可取此输入并输出另一个2D矩阵的keras层.因此,例如,如果我有一个大小为(ExV)的输入,则学习权重矩阵将为(SxE),输出为(SxV).我可以使用密集层吗? 编辑(Nassim请求): 第一层什么都不做.只是为Lambda层提供输入: from keras.models import Sequential from
..
根据此,以下副本权重从一种模型转换为另一种模型: target_model.set_weights(model.get_weights()) 复制特定图层的权重该怎么办? model_1.layers[0].set_weights(source_model.layers[0].get_weights()) model_2.layers[0].set_weights(source_m
..
我的数据涉及两个人之间的各种对话.每个句子都有某种类型的分类.我正在尝试使用NLP网络对对话的每个句子进行分类.我尝试了一个卷积网,并得到了不错的结果(不是破土动工).我认为,由于这是一次来回的对话,因此LSTM网络可能会产生更好的结果,因为先前所说的内容可能会对随后的内容产生很大的影响. 如果遵循上述结构,我会假设我正在进行多对多操作.我的数据看起来像这样. X_train = [[
..
我已经在此处提出了类似的问题,但现在我遇到的问题略有不同,因此问新问题. 我决定使用略有不同的方法,而不是在参考问题的答案中提出建议来进行训练,然后对模型进行微调. 更新:我已将此处提供的旧问题替换为更合适的版本 这是我的操作顺序: 构建VGG16模型并放置顶层(称为无顶层模型) 使用无顶模型生成瓶颈功能 使用瓶颈功能训练单独的全连接模型 构建新的VGG16模型,放置
..
我正在尝试针对一些二进制分类问题训练LSTM.当我在训练后绘制loss曲线时,里面有奇怪的提示.以下是一些示例: 这是基本代码 model = Sequential() model.add(recurrent.LSTM(128, input_shape = (columnCount,1), return_sequences=True)) model.add(Dropout(0.5))
..
我正在使用flask运行Web服务器,并且在尝试使用vgg16时出现错误,vgg16是keras的预训练VGG16模型的全局变量.我不知道为什么会出现此错误,或者它是否与Tensorflow后端有关. 这是我的代码: vgg16 = VGG16(weights='imagenet', include_top=True) def getVGG16Prediction(img_path):
..
使用python 3.5.2 tensorflow rc 1.1 我试图在keras中使用张量流度量函数.所需的功能接口似乎相同,但调用: import pandas import numpy import tensorflow.contrib.keras as keras import tensorflow def target_function(row): return
..
我目前在尝试将我的GRU模型与训练数据拟合时遇到问题. 快速浏览StackOverflow之后,我发现这篇文章与我的问题非常相似: 使用Keras io进行的最简单Lstm培训 我自己的模型如下: nn = Sequential() nn.add(Embedding(input_size, hidden_size)) nn.add(GRU(hidden_size_2, retur
..
我正在使用Keras提供的conv1d层为序列数据建立预测模型.这就是我的做法 model= Sequential() model.add(Conv1D(60,32, strides=1, activation='relu',padding='causal',input_shape=(None,64,1))) model.add(Conv1D(80,10, strides=1, activa
..
我已经使用Keras(2.1.5)中的TensorFlow后端训练了神经网络,并且还使用了keras-contrib(2.0.8)库来添加CRF层作为网络的输出. /p> 我想知道在使用NN对测试集进行预测后如何获得每个班级的精度,召回率和f1分数. 解决方案 假定您具有一个函数get_model(),该函数可以构建与您训练的模型完全相同的模型,并且路径weights_path指向包含模
..
如何固定输入数组以满足输入形状? 我尝试转置输入数组,如 ValueError:检查输入时出错:预期density_input具有形状(21,)但具有形状(1,)的数组 import tensorflow as tf import numpy as np model = tf.keras.models.Sequential([ tf.keras.layers.Dense(40,
..
当我训练几个具有相同架构且初始化不同的模型时,如何在Keras模型中平均权重? 现在我的代码看起来像这样吗? datagen = ImageDataGenerator(rotation_range=15, width_shift_range=2.0/28, height_
..
input0 = keras.layers.Input((32, 32, 3), name='Input0') flatten = keras.layers.Flatten(name='Flatten')(input0) relu1 = keras.layers.Dense(256, activation='relu', name='ReLU1')(flatten) dropout = keras
..
我正在尝试构建一个多标签分类器,以预测某些输入数据为0或1的概率.我正在使用神经网络和Tensorflow + Keras(以后可能是CNN). 问题如下: 数据高度偏斜.负面的例子比正面的要多得多,也许是90:10.因此,对于正例,我的神经网络几乎总是输出非常低的概率.在大多数情况下,使用二进制数字可以预测为0. 几乎所有类的性能都> 95%,但这是由于它几乎总是预测零... 因此,
..