草庐IT

python - Matthews 相关系数与 Keras

我在Python3中有一个Keras模型(顺序):classLossHistory(keras.callbacks.Callback):defon_train_begin(self,logs={}):self.matthews_correlation=[]defon_epoch_end(self,batch,logs={}):self.matthews_correlation.append(logs.get('matthews_correlation'))...model.compile(loss='mean_squared_error',optimizer='adam',metric

python - 如何使用 Keras 的分类单热标签进行训练?

我有这样的输入:[[1,2,3][4,5,6][7,8,9]...]形状(1,num_samples,num_features),标签如下所示:[[0,1][1,0][1,0]...]形状(1,num_samples,2)。但是,当我尝试运行以下Keras代码时,出现此错误:ValueError:检查模型目标时出错:预期dense_1具有2个维度,但得到形状为(1,8038,2)的数组。从我读过的内容来看,这似乎源于我的标签是二维的,而不仅仅是整数。这是否正确?如果正确,我如何在Keras中使用one-hot标签?代码如下:num_features=463trX=np.random(8

python - 拟合多项式的 Keras 模型

我从四次多项式生成了一些数据,并想在Keras中创建一个回归模型来拟合这个多项式。问题是拟合后的预测似乎基本上是线性的。由于这是我第一次使用神经网络,我认为我犯了一个非常微不足道和愚蠢的错误。这是我的代码:model=Sequential()model.add(Dense(units=200,input_dim=1))model.add(Activation('relu'))model.add(Dense(units=45))model.add(Activation('relu'))model.add(Dense(units=1))model.compile(loss='mean_sq

python - 使用预训练的 Inceptionv3 提取瓶颈特征 - Keras 的实现和 Native Tensorflow 实现之间的差异

(抱歉发了这么长的帖子)全部,我想使用预训练Inceptionv3模型的瓶颈特征来预测我的输入图像的分类。在训练模型和预测分类之前,我尝试了3种不同的方法来提取瓶颈特征。我的3种方法产生了不同的瓶颈特征(不仅在值上,甚至在大小上也不同)。方法1和2中我的瓶颈特征的大小:(输入图像的数量)x3x3x2048方法3中我的瓶颈特征的大小:(输入图像的数量)x2048为什么基于Keras的Inceptionv3模型和原生Tensorflow模型的大小不同?我的猜测是,当我在Keras中说include_top=False时,我并没有提取“pool_3/_reshape:0”层。这个对吗?如果是

python - Keras:binary_crossentropy 和 categorical_crossentropy 混淆

在使用TensorFlow一段时间后,我阅读了一些Keras教程并实现了一些示例。我找到了几个使用keras.losses.binary_crossentropy作为损失函数的卷积自动编码器的教程。我认为binary_crossentropy应该不是一个多类损失函数并且很可能会使用二进制标签,但实际上Keras(TFPython后端)调用tf.nn.sigmoid_cross_entropy_with_logits,它实际上用于具有不互斥的多个独立类的分类任务。另一方面,我对categorical_crossentropy的期望是用于多类分类,其中目标类有相互依赖,但不一定是一个-热编

python - Keras - 所有图层名称都应该是唯一的

我将keras中的两个VGG网络结合在一起进行分类任务。当我运行程序时,它显示错误:RuntimeError:Thename"predictions"isused2timesinthemodel.Alllayernamesshouldbeunique.我很困惑,因为我在我的代码中只使用了一次预测层:fromkeras.layersimportDenseimportkerasfromkeras.modelsimportModelmodel1=keras.applications.vgg16.VGG16(include_top=True,weights='imagenet',input_t

python - Jupyter 找不到 keras 的模块

我已经安装了Anaconda的Tensorflow和Keras(在Windows10上),我创建了一个使用Python3.5.2的环境(Anaconda中的原始环境是Python3.6)。当我尝试执行importkerasasks时,我得到了ModuleNotFoundError:Nomodulenamed'keras'。我试图通过sys.path.append(C:\\Users\\...\\Anaconda3\\python.exe)解决这个问题同时使用笔记本电脑和控制台,但我仍然遇到同样的错误。我该如何解决这个问题? 最佳答案

python - keras中的加权mse自定义损失函数

我正在处理时间序列数据,输出future60天的预测。我目前使用均方误差作为我的损失函数,结果很糟糕我想实现加权均方误差,以便早期输出比后期输出重要得多。加权均方根公式:所以我需要一些方法来迭代张量的元素,使用索引(因为我需要同时迭代预测值和真实值,然后将结果写入只有一个元素的张量。它们都是(?,60)但实际上是(1,60)列表。而且我所做的一切都没有奏效。这是损坏版本的代码defweighted_mse(y_true,y_pred):wmse=K.cast(0.0,'float')size=K.shape(y_true)[0]foriinrange(0,K.eval(size)):w

python - 与 tensorflow-gpu 1.4 一起使用的 keras 版本

我正在使用ubuntu16、python3、tf-GPU和keras。由于cuda错误,我降级到tf1.4,如解释的那样here但是现在我得到了这个错误TypeError:softmax()gotanunexpectedkeywordargument'axis'似乎这是一个APIchange在tensorflow和新的keras中不适合旧的tf.我找不到与tf1.4gpu一起使用的正确keras版本。什么是正确的? 最佳答案 Keras-Tensorflow版本兼容性是我自己遇到过很多次的常见问题。我将这个compatibility

Python/Keras - 如何访问每个时期的预测?

我正在使用Keras来预测时间序列。作为标准,我使用20个纪元。我想通过对20个时期中的每一个时期进行预测来检查我的模型是否学习良好。通过使用model.predict()我在所有时期中只得到一个预测(不确定Keras如何选择它)。我想要所有预测,或者至少是10个最好的预测。有人知道如何帮助我吗? 最佳答案 我觉得这里有点困惑。epoch仅在训练神经网络时使用,因此当训练停止时(在本例中,在第20个epoch之后),权​​重对应于在最后一个epoch上计算的权重。Keras在每个时期后的训练期间在验证集上打印当前损失值。如果每个时期