草庐IT

python - 在有条件的keras中实现自定义损失函数

我需要一些关于keras损失函数的帮助。我一直在使用Tensorflow后端在keras上实现自定义损失函数。我已经在numpy中实现了自定义损失函数,但如果能将其转换为keras损失函数就更好了。损失函数采用数据框和一系列用户ID。如果user_id不同,则同一user_id的欧氏距离为正和负。该函数返回数据帧的标量距离总和。defcustom_loss_numpy(encodings,user_id):#user_id:apandasseriesofusers#encodings:apandasdataframeofencodingsbatch_dist=0foriinrange(

python - Keras 重命名模型和图层

1)我尝试使用TF后端重命名Keras中的模型和层,因为我在一个脚本中使用多个模型。类模型似乎具有属性model.name,但在更改它时我得到“AttributeError:无法设置属性”。这里的问题是什么?2)此外,我正在使用顺序API,我想给图层命名,这似乎可以使用函数式API,但我没有找到顺序API的解决方案。anonye知道如何为顺序API做吗?更新为2):命名图层有效,尽管它似乎没有记录。只需添加参数名称,例如model.add(Dense(...,...,name="hiddenLayer1")。注意,具有相同名称的图层共享权重! 最佳答案

python - 在 keras 中使用预训练的 gensim Word2vec 嵌入

我在gensim中训练过word2vec。在Keras中,我想用它来制作使用该词嵌入的句子矩阵。由于存储所有句子的矩阵非常占用空间和内存效率。所以,我想在Keras中制作嵌入层来实现这一点,以便它可以用于更多层(LSTM)。你能详细告诉我怎么做吗?PS:和其他题不同,因为我用的是gensim训练word2vec,而不是keras。 最佳答案 假设您有以下需要编码的数据docs=['Welldone!','Goodwork','Greateffort','nicework','Excellent!','Weak','Pooreffor

python - 如何在新图像上使用 .predict_generator() - Keras

我使用ImageDataGenerator和flow_from_directory进行训练和验证。这些是我的目录:train_dir=Path('D:/Datasets/Trell/images/new_images/training')test_dir=Path('D:/Datasets/Trell/images/new_images/validation')pred_dir=Path('D:/Datasets/Trell/images/new_images/testing')ImageGenerator代码:img_width,img_height=28,28batch_size=

python - 函数式 API 中的 Keras Multiply() 层

在新的API变化下,你如何在Keras中进行层的逐元素乘法?在旧的API下,我会尝试这样的事情:merge([dense_all,dense_att],output_shape=10,mode='mul')我试过这个(MWE):fromkeras.modelsimportModelfromkeras.layersimportInput,Dense,Multiplydefsample_model():model_in=Input(shape=(10,))dense_all=Dense(10,)(model_in)dense_att=Dense(10,activation='softmax

python - 连接层的 ValueError(Keras 函数式 API)

经过这里的一些搜索,我仍然找不到解决这个问题的方法。我是Keras的新手,如果有解决方案,我深表歉意,实际上我不明白它与我的问题有何关系。我正在使用Keras2/FunctionalAPI制作一个小型RNN,但我无法让ConcatenateLayer正常工作。这是我的结构:inputSentence=Input(shape=(30,91))sentenceMatrix=LSTM(91,return_sequences=True,input_shape=(30,91))(inputSentence)inputDeletion=Input(shape=(30,1))deletionMatr

python - Keras 没有名为模型的模块

尝试使用虚拟环境在MacOSX中运行Keras版本苹果操作系统:10.12.4(16E195)python2.7疑难解答重新创建Virtualenv重新安装keras日志(venv)me$sudopipinstall--upgradekerasCollectingkerasRequirementalreadyup-to-date:sixin/Library/Python/2.7/site-packages/six-1.10.0-py2.7.egg(fromkeras)Requirementalreadyup-to-date:pyyamlin/Library/Python/2.7/sit

python - 如何调整我的输入数据以便在 keras 中与 Conv1D 一起使用?

我的虚拟数据集中有12个长度为200的向量,每个向量代表一个样本。假设x_train是一个形状为(12,200)的数组。当我这样做时:model=Sequential()model.add(Conv1D(2,4,input_shape=(1,200)))我得到错误:ValueError:Errorwhencheckingmodelinput:expectedconv1d_1_inputtohave3dimensions,butgotarraywithshape(12,200)如何正确调整输入数组的形状?这是我更新的脚本:data=np.loadtxt('temp/data.csv',d

python - 如何用keras近似行列式

作为一项实验,我正在构建一个keras模型来近似矩阵的行列式。然而,当我运行它时,损失在每个时期都会下降,而验证损失会上升!例如:8s-loss:7573.9168-val_loss:21831.5428Epoch21/508s-loss:7345.0197-val_loss:23594.8540Epoch22/5013s-loss:7087.7454-val_loss:24718.3967Epoch23/507s-loss:6851.8714-val_loss:25624.8609Epoch24/506s-loss:6637.8168-val_loss:26616.7835Epoch

python - Keras中这两种添加神经网络层的方式有什么区别?

我使用Keras和Theano作为后端,并且我有顺序神经网络模型。我想知道跟随之间有区别吗?model.add(Convolution2D(32,3,3,activation='relu'))和model.add(Convolution2D(32,3,3))model.add(Activation('relu')) 最佳答案 它们本质上是一样的。将其分开放置的好处是您可以在其间添加其他层(例如BatchNormalization)。在Keras中,如果不指定,Convolution2D会默认使用'linear'激活,也就是恒等函数d