草庐IT

python - 无法更改现有 Keras 模型中的激活

我有一个带有relu激活的普通VGG16模型,即defVGG_16(weights_path=None):model=Sequential()model.add(ZeroPadding2D((1,1),input_shape=(3,224,224)))model.add(Convolution2D(64,3,3,activation='relu'))model.add(ZeroPadding2D((1,1)))model.add(Convolution2D(64,3,3,activation='relu'))model.add(MaxPooling2D((2,2),strides=(2

python - CNN 给出有偏见的结果

我在CNN上使用二元分类器。我有两个类别“我”和“其他”。我有大约250张我自己的图像和500张其他人的图像(随机面孔数据库)。我目前的图层实现非常简单self.model.add(Conv2D(128,(2,2),padding='same',input_shape=dataset.X_train.shape[1:]))self.model.add(Activation('relu'))self.model.add(MaxPooling2D(pool_size=(2,2)))self.model.add(Dropout(0.25))self.model.add(Conv2D(64,(

python - 如何更改 Keras 中 softmax 输出的温度

我目前正在尝试重现以下文章的结果。http://karpathy.github.io/2015/05/21/rnn-effectiveness/我在theano后端使用Keras。在文章中,他谈到了控制最终softmax层的温度以提供不同的输出。Temperature.WecanalsoplaywiththetemperatureoftheSoftmaxduringsampling.Decreasingthetemperaturefrom1tosomelowernumber(e.g.0.5)makestheRNNmoreconfident,butalsomoreconservative

python - 如何将带有 keras 回归器的 scikit-learn 管道保存到磁盘?

我有一个带有kerasRegressor的scikit-learn管道:estimators=[('standardize',StandardScaler()),('mlp',KerasRegressor(build_fn=baseline_model,nb_epoch=5,batch_size=1000,verbose=1))]pipeline=Pipeline(estimators)训练管道后,我尝试使用joblib保存到磁盘...joblib.dump(pipeline,filename,compress=9)但是我得到一个错误:RuntimeError:maximumrecur

python - 如何访问keras中的类概率?

我正在训练一个模型,我需要为其报告类概率而不是单一分类。我有三个类(class),每个训练实例都分配了三个类(class)中的一个。我正在尝试使用Keras创建MLP。但我不知道如何提取每个类(class)的final类概率。我将其用作基本示例:http://machinelearningmastery.com/regression-tutorial-keras-deep-learning-library-python/谢谢! 最佳答案 为了执行多类分类(nb_classes>1),您必须以特定方式准备您的模型。确保您的标签经过精心

python - 在 Keras 中向后传播?

谁能告诉我Keras中的反向传播是如何完成的?我读到它在Torch中真的很容易,在Caffe中很复杂,但我找不到任何关于用Keras做的事情。我正在Keras中实现我自己的层(一个非常初学者)并且想知道如何进行反向传播。提前致谢 最佳答案 你根本不知道。(后期编辑:创建自定义训练循环时除外,仅供高级使用)Keras自动进行反向传播。除了使用fit方法之一训练模型外,您绝对不需要为此做任何事情。您只需要处理几件事:您想要使用反向传播更新的变量(即:权重)必须在自定义层中使用buildself.add_weight()方法定义方法。参见

python - Keras Embedding 层中的 mask_zero 是如何工作的?

我认为当输入值为0时mask_zero=True将输出0,因此后续层可以跳过计算或其他操作。mask_zero是如何工作的?示例:data_in=np.array([[1,2,0,0]])data_in.shape>>>(1,4)#modelx=Input(shape=(4,))e=Embedding(5,5,mask_zero=True)(x)m=Model(inputs=x,outputs=e)p=m.predict(data_in)print(p.shape)print(p)实际输出是:(数字是随机的)(1,4,5)[[[0.024990470.046171210.0158680

python - 使用自定义损失加载模型 + keras

在Keras中,如果您需要使用附加参数进行自定义损失,我们可以像https://datascience.stackexchange.com/questions/25029/custom-loss-function-with-additional-parameter-in-keras中提到的那样使用它defpenalized_loss(noise):defloss(y_true,y_pred):returnK.mean(K.square(y_pred-y_true)-K.square(y_true-noise),axis=-1)returnloss上述方法在我训练模型时有效。但是,一旦模

python - Keras——保存mnist数据集的image embedding

我为MNIST数据库编写了以下简单的MLP网络。from__future__importprint_functionimportkerasfromkeras.datasetsimportmnistfromkeras.modelsimportSequentialfromkeras.layersimportDense,Dropoutfromkerasimportcallbacksbatch_size=100num_classes=10epochs=20tb=callbacks.TensorBoard(log_dir='/Users/shlomi.shwartz/tensorflow/not

python - 如何将变量添加到 Keras 中的进度条?

我想监控例如。进度条和Tensorboard中Keras训练期间的学习率。我认为必须有一种方法来指定记录哪些变量,但Keras上没有立即澄清这个问题website.我想这与创建自定义Callback有关函数,但是,应该可以修改已经存在的进度条回调,不是吗? 最佳答案 它可以通过自定义指标来实现。以学习率为例:defget_lr_metric(optimizer):deflr(y_true,y_pred):returnoptimizer.lrreturnlrx=Input((50,))out=Dense(1,activation='s