我正在尝试创建一个简单的加权损失函数。比如说,我的输入维度是100*5,输出维度也是100*5。我还有一个相同维度的权重矩阵。类似下面的内容:importnumpyasnptrain_X=np.random.randn(100,5)train_Y=np.random.randn(100,5)*0.01+train_Xweights=np.random.randn(*train_X.shape)定义自定义损失函数defcustom_loss_1(y_true,y_pred):returnK.mean(K.abs(y_true-y_pred)*weights)定义模型fromkeras.l
假设我有一个简单的神经网络,其中有一个输入层和一个用tensorflow编程的卷积层:#InputLayerinput_layer=tf.reshape(features["x"],[-1,28,28,1])#ConvolutionalLayer#1conv1=tf.layers.conv2d(inputs=input_layer,filters=32,kernel_size=[5,5],padding="same",activation=tf.nn.relu)我省略了功能的网络定义的任何其他部分。如果我想在这个卷积层之后添加一个LSTM层,我必须制作卷积层TimeDistribute
我正在尝试使用Keras解决二元分类问题,使用ImageDataGenerator.flow_from_directory方法生成批处理。但是,我的类非常不平衡,比如一个类比另一个多8倍或9倍,导致模型在为每个示例预测相同的输出类时卡住。有没有一种方法可以将flow_from_directory设置为在每个时期从我的小类过采样或从我的大类欠采样?目前,我刚刚在小类为每个图像创建了多个副本,但我希望有更多的灵active。 最佳答案 使用当前版本的Keras-仅使用Keras内置方法无法平衡您的数据集。flow_from_direct
我想在Keras中合并两个LSTM模型。我见过很多导入Merge的例子:fromkeras.layersimportMerge执行此操作时,出现导入错误。ImportError:无法导入名称“Merge”。是否有一些重构,现在合并在别处? 最佳答案 从keras2开始,模块keras.layers.merge没有通用的公共(public)Merge层。相反,您应该直接导入keras.layers.Add或keras.layers.Concatenate等子类(或它们具有相同名称小写的功能接口(interface):keras.lay
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我目前正在使用LSTM层训练用于天气预报的递归神经网络。网络本身非常简单,大致如下所示:model=Sequential()model.add(LSTM(hidden_neurons,input_shape=(time_steps,feature_count),return_sequences=False))model.add(Dense(feature_count))model.add(Activati
我是第一次尝试运行keras。我安装了模块:pipinstallkeras--userpipinstalltensorflow--user然后尝试运行https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py.然而它给了我:AttributeError:'module'objecthasnoattribute'control_flow_ops'这些是我正在使用的版本。printtensorflow.__version__0.11.0rc0printkeras.__version__1.1.0WhatcanIdo
我正在尝试在keras模型中使用huber损失(编写DQN),但结果很糟糕,我认为我做错了什么。我的代码如下。model=Sequential()model.add(Dense(output_dim=64,activation='relu',input_dim=state_dim))model.add(Dense(output_dim=number_of_actions,activation='linear'))loss=tf.losses.huber_loss(delta=1.0)model.compile(loss=loss,opt='sgd')returnmodel
在具有函数式API的Keras模型中,我需要调用fit_generator以使用ImageDataGenerator对增强图像数据进行训练。问题是我的模型有两个输出:我试图预测的掩码和一个二进制值。我显然只想增加输入和掩码输出,而不是二进制值。我怎样才能做到这一点? 最佳答案 下面的例子可能是不言自明的!“虚拟”模型接受1个输入(图像)并输出2个值。该模型计算每个输出的MSE。x=Convolution2D(8,5,5,subsample=(1,1))(image_input)x=Activation('relu')(x)x=Fla
我正在开发一个带有gunicorn的Python3API,它使用keras来计算图像的向量,非常简单。如何为每个请求重置存储在内存中的数据?随着时间的推移,请求的响应时间会慢慢增加。我已经运行了一个探查器,它特别是tensorflow中的这一行(每个进程的内存使用量也会随着时间的推移而缓慢上升):#tensorflow/python/framework/ops.py:2317:_as_graph_defgraph.node.extend([op.node_def])节点中的数据越多,所需时间越长。这是我执行的代码:#Wehave11439MiBofGPUmemory,letsonlyu
我似乎无法获得学习率的值(value)。我得到的是下面。我已经尝试了200个时期的模型,想查看/更改学习率。这不是正确的方法吗?>>>print(ig_cnn_model.optimizer.lr) 最佳答案 使用keras.backend中的eval():importkeras.backendasKfromkeras.modelsimportSequentialfromkeras.layersimportDensemodel=Sequential()model.add(Dense(1,input_shape=(1,)))model