合并keras中的层(连接)

我正在尝试实现这一点(下面给出了模型体系结构),并且有两个模型-rough\u model和fine\u model,它们需要在精细模型的第二步连接起来。然而,当我尝试使用最后一个轴连接时,我得到了一个错误。 最后一行给出的错误是: ***ValueError:“concat”模式只能合并具有匹配输出形状的层,concat轴除外。图层形状:[(无,74,55),(无,74,55,63)]回答我自己的问题,将形状更改为 shape_subset = (shape[1],shape[2],1)

项目特定keras配置的推荐方法?

我的目标是在每个项目的基础上维护keras配置,例如,一个项目更喜欢theano后端,另一个项目更喜欢tensorflow后端。作为奖励,我想与其他开发人员相对无缝地共享此配置 以下是一些想法: keras配置能否由虚拟环境管理/在虚拟环境中管理 我是否应该使用dotenv或autoenv之类的工具来管理一些共享环境配置(通过KERAS\u BACKEND环境变量) 在使用$HOME中的版本之前,是否应更新keras以在工作树中查找.keras/keras.json文件 keras配置能否由虚拟

Keras中CNN回归任务中奇怪的均方根误差行为

我正在使用类似于alexnet的CNN进行图像相关回归任务。我为损失函数定义了rmse。然而,在第一个时代的训练中,损失带来了巨大的价值。但在第二个时代之后,它下降到了一个有意义的值。这是: 1/51[……]-预计到达时间:847s-损失:104.1821- acc:0.2500-均方根误差:104.1821 2/51 预计到达时间:470s损失:5277326.0910- acc:0.5938-均方根误差:5277326.0910 3/51 预计到达时间:345s损失:3518246.7337

Keras 是否需要model.save_权重?

我想知道在培训结束时是否需要model.save_weights()。假设我已经有了一个检查点: checkpoint=ModelCheckpoint( '重量{epoch:02d}-{val_损失:.2f}.h5', 监视器=“val_损失”, 详细=0, save_best_only=True, 仅保存权重=真, mode='min', 周期=1) 应已将重量保存在单独的h5文件中。是否仍需要model.save_weights()?您可以在每个训练时段后使用检查点保存模型权重,这将额外调

Keras Python-RNN LSTM模型精度低

我尝试用这个数据集示例构建LSTM模型 (患者编号、时间(单位:mill/sec)、X Y和Z的标准化, 峰度、偏度、俯仰、横摇和偏航、标签) 1,15,-0.248010047716,0.00378335508419,-0.0152548459993,-86.3738760481,0.872322164158,-3.51314800063,0 1,31,-0.248010047716,0.00378335508419,-0.0152548459993,-86.3738760481,0.8723

Keras 强化学习策略梯度两种不同的带奖励的更新方法?

我在看政策梯度的两个不同例子,想知道为什么有两种不同的方法来获得优势函数。 其中一个将优势直接转化为折扣奖励 advantages[i][self.actions[i]] = discounted_rewards[i] 直接传递给分类交叉熵 另一个有 loss = tf.reduce_mean(neg_log_prob * self.tf_vt) 然后他试图最小化(tf_vt只是折扣报酬,计算方法与上面的方法相同) 第一种方法不应该是 advantages[i][self.actions[i

Keras 不使用自定义丢失功能编写的OCR代码

我正在开发OCR模型。我的最终目标是将OCR代码转换为coreML,并将其部署到ios中 我已经查看并运行了两个github源代码,即: 当您查看它们时,它们都实现了loss,作为带有lambda层的自定义层 当我想将其转换为coreML时,问题就出现了 我要转换为CoreMl的代码片段: import coremltools def convert_lambda(layer): # Only convert this Lambda layer if it is for our s

如何将权重传递给keras中的均方误差

我试图解决一个回归问题,这是一个多标签问题,有8个标签,我使用均方误差损失,但数据集不平衡,我想把权重传递给损失函数。目前我正在以这种方式编译模型 model.compile(loss='mse', optimizer=Adam(lr=0.0001), metrics=['mse', 'acc']) 是否有人可以建议是否可以将权重添加到均方误差中,如果可以,我该怎么做 提前谢谢 标签看起来是这样的 # 首先创建一个字典,说明您希望为每个类增加多少权重,例如: class_weights =

理解keras.layers.BatchNormalization计算

我正在玩批量标准化层,我不能完全理解我得到的数值结果 我们考虑在计算机视觉中使用BonnrnMul归化。 我们有4D张量 尺寸为:批量大小,图像高度,图像宽度,通道 如果我理解正确,BatchNormalization将做的是: 培训时: 对于每批,计算平均值MU和标准偏差SIGMA。这是按通道完成的,并访问批处理的所有图像的所有行和所有列 在所有批次中保持MU(比如MÛ)和SIGMA(比如SIĜMA)的指数移动平均值 使用MÛ和SIĜMA对像素进行规格化:normalized_pixel=(

Keras 如何将Turi创建的CoreML模型转换为KERA?

我正在寻找一种方法来进行转换,我发现的唯一信息是如何从Keras和other转换到CoreML 要做到这一点,您必须编写自己的代码,核心ML模型到Keras没有自动转换工具(只有相反的方法)

Keras 著名的回归神经网络

我遇到过许多用于分类问题的神经网络结构。AlexNet、ResNet、VGnet、GoogLeNet等。。。是否有类似的回归问题网络可用于迁移学习 好的,所有这些架构不仅仅是用于分类,要将DL模型从分类修改为回归,您必须做的唯一改变就是更改顶层。例如,在VGGNET中,最后一层可以是: densite(25,activation='softmax') 这意味着我们要用概率分布(分类)预测25个输出 但也有可能 Dense(1,激活='linear') 在完全相同的架构下,它将输出一个数字(回

Keras中的负荷模型

我使用此代码使用客户度量(AUC)在Keras中加载模型,但这不起作用。你能帮我解决那个问题吗 train_datagen = ImageDataGenerator(rescale=1/255) val_datagen = ImageDataGenerator(rescale=1/255) train_generator = train_datagen.flow_from_directory( train_dir,

Keras &引用;我想知道在哪里可以下载原始数据,用于在官方YOLO页面上培训模型;

“我想知道我可以从哪里下载原始数据(用于在官方YOLO页面上训练模型),以及如何将“密封”数据添加到原始数据中。” 正如你在照片左侧所看到的,Keras yolo v3正在分析“海豹”被标记为“狗”。 想要训练“海豹”,我参考了这个网站()并训练了标签“海豹”,然而,标签“人”已经消失了,正如你在照片右侧看到的那样。 我认为这是因为“海豹”经过培训,并被来自官方yolo网站(包括标签“人”)的培训数据所取代。 为了解决这个问题,我想知道在哪里可以下载原始数据,用于在官方YOLO页面上训练模型,以

Keras:重新加载重量时,未更新预计算的内部张量(..)方法

我正在尝试将重量重新加载到我在上一次跑步中训练过的自定义Keras层中。似乎在调用load_weights方法后,并不是模型的所有部分都用新的权重“更新” 训练后,我使用model.save_weights()方法将权重保存为.hdf5文件。然后,当我想要评估模型时,我首先构建层,然后用model.load_weights()重新加载权重。所有重物似乎都装得很好。但是,自定义层中的一个组件未正确更新,即self.block 我怀疑问题在于,在加载预先训练的权重之前,必须编译模型。也就是说,将调用

培训损失在keras LSTM中为nan

我用GPU在谷歌colab中编译了这段代码,以创建一个多层LSTM。它用于时间序列预测 from keras.models import Sequential from keras.layers import Dense from keras.layers import LSTM import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import De

用keras图像生成器平衡不平衡数据集

凯拉斯 ImageDataGenerator 可用于“” 本教程演示了如何使用ImageDataGenerator扩充一个小而平衡的数据集。是否有一种简单的方法可以使用此生成器来增强严重不平衡的数据集,从而平衡生成的数据集?这不是处理不平衡数据的标准方法。我也不认为这真的是合理的——你会显著地改变你的类的分布,而更小的类现在变少了很多。较大的类将有丰富的变化,较小的将是许多类似的图像与小仿射变换。他们将生活在比大多数人小得多的图像空间区域 更标准的方法是: model.fit中的class_

Keras Lambda层,用于定制损耗

我正在尝试实现一个Lambda层,它将生成一个自定义的loss函数。在该层中,我需要能够将批次中的每个元素与批次中的每个其他元素进行比较,以便计算成本。理想情况下,我希望代码看起来像这样: for el_1 in zip(y_pred, y_true): for el_2 in zip(y_pred, y_true): if el_1[1] == el_2[1]: # Perform a calculation else:

多类KerasClassifier的网格搜索

我正在尝试使用Keras对多类分类进行网格搜索。以下是代码的一部分: 数据的某些属性如下所示: y_ array(['fast', 'immobile', 'immobile', ..., 'slow', 'immobile', 'slow'], dtype='<U17') y_onehot = pd.get_dummies(y_).values y_onehot array([[1, 0, 0], [0, 0, 1], [0, 0

Keras StopIteration:无法导入PIL.Image。使用'array_to_img'需要PIL

我在运行keras代码时遇到此错误,因此keras正在尝试导入 从PIL导入图像作为PIL_图像 我已经安装了枕头,并且我能够在我的python终端中成功地导入它,但是在jupyter笔记本中,它给出了导入错误 env-Ubuntu16在AWSEC2实例上,我正在使用aws深度学习ami for ubuntu 枕头与康达,我也试图安装使用pip 但我同样可以在python/ipython shell中导入它,但不能在jupyter笔记本中导入。因此,jupyter笔记本上的jesper或open

Keras 如何强制LSTM学习单调序列?

我使用LSTM和Keras来预测一组序列。以下是我的基本模型: 输入=输入形状=1,顺序尺寸顺序尺寸=2 shape=timesteps,featdim=1,2,因为我的输入序列是一对值 我想预测成对的第一个值的顺序 se=LSTMlstm\U大小输入 out=dense1我想预测一个值 模型=模型输入=输入,输出=输出 我确信序列从0开始,是单调的,不是递减的。 我尝试了最大层 最大输出=最大值[输出顺序,输入顺序] 这是模型 输入=输入形状=1,序号尺寸 shape=timesteps,fe

Keras fit_生成器和predict_生成器中验证结果之间的差异

我有一个我无法理解的问题 对于培训,我使用fit_generator,如下所示,验证数据返回的f1分数约为0.8 validation_generator = val_datagen.flow_from_directory( directory=val_data_dir, target_size=(img_width, img_height), batch_size=batch_size, shuffle=True,

Keras的一类分类

我只需要在Keras上创建CNN来识别一种特定类型的图像,在我的案例中是信用卡。看来我只需要一个输出的乙状结肠神经元。但问题是如何培养这样的网络,因为我只有一个目标类别。或者我应该添加猫和狗的随机图像,告诉NN这不是信用卡。我甚至不确定它是否是二进制分类。我还没有任何代码,但首先我将尝试Keras docs中的VGG-16。鉴于您将VGG-16用于转移学习,一种直接的方法是将您的信用卡图像添加到ImageNet数据中。您可以简单地将所有其他图像标记为非信用卡,并微调两个输出神经元上的softma

Keras 非类型';对象没有属性'_入站节点

嗨,我一直在努力解决这个问题,但我无法真正解决它。对于我的特殊情况,如有任何建议,我将不胜感激。非常感谢你!我的网络结构如下: def get_unet(self): inputs = Input((self.img_rows, self.img_cols, 1)) conv1 = Conv2D(64, 3, activation='relu', padding='same', kernel_initializer='he_normal')(inputs) conv1

Keras 过滤修剪

目前,我正在尝试修剪一个网络(简单的卷积自动编码器)——不用说没有成功 首先,我指的是博客帖子: 在第一步中,我只想将卷积滤波器设置为零,这样它就不再有作用了。到目前为止,我尝试的是: weights = model.get_weights() # weights is a numpy array weights[2][0] = 0 # e.g. set the first filter of the second Conv2D-layer 0 weights[3][0] = 0 # and

Keras 从头开始培训VGG16

我试图从头开始训练我的VGG16网络。为此,我从 其中一位作者将代码编写为vgg-16_keras.py代码。在此代码中,预期的默认图像大小为224x224。我的输入图像也有相同的大小。所以,尺寸没有问题 接下来,我做了一些细微的更改,以便让体系结构准备好在我手头的一些示例图像上训练我的模型。当我尝试训练我的模型时,我得到了“负维”错误。为了调试代码,我尝试获取一些函数,这些函数为我提供了不同层的输出维度,但不幸的是没有 我正在发布我的代码以及错误消息 import keras import n

Keras ValueError:`decode_predictions`需要一批预测(即形状的2D数组(样本,1000))。找到具有形状的数组:(1,3)

我在谷歌工作了很长一段时间,但他们问的问题和我不一样。他们使用现成的模型。我是一个自学成才的模型,但同样的错误让我感到困惑。问题是,我们希望类的数量是1000(即ImageNet数据集中的类的数量)。然而,您的自定义模型似乎只有3个输出类: 解码\u预测需要一批预测(即2D阵列 形状(样本1000))。找到具有以下形状的数组:(1,3) 请相反,请直接将代码粘贴到问题中。如果答案解决了您的问题,请单击答案旁边的复选标记将其标记为“已回答”,以接受该问题。请参阅

Keras 属性错误:';模块';对象没有属性';cuda&x27;

我正在尝试运行此存储库: 在测试中,我遇到了错误:theano.sandbox.cuda.use('gpu0') AttributeError:“模块”对象没有属性“cuda”。 我使用theano作为后端 这是Test_normal_Detector_public.py: from keras.models import Sequential from keras.layers import Dense, Dropout, Activation from keras.regularizers

Keras KERA中的评估和预测函数给出的统计数据不同

我有一个非常简单的DNN和一个给定的数据集。然而,我从“评估”和“预测”得到的误差标准差是不同的。平均误差似乎正常,但predict中的stdev始终大于evaluate中的stdev。为什么会出现这些差异?我如何解决 终于找到了原因。。。默认情况下,即使batch_size设置为none,evaluate也不会使用所有样本。在设置batch_size=1000(我的数据集中的样本数)后,我得到了相同的误差平均值和标准偏差 from keras.models import Sequential

VGG19网络的Keras实现有26层。怎么用?

VGG-19网络有25层,如图所示。但是如果我检查Keras实现中的层数,它会显示26层。怎么做 model = VGG19() len(model.layers) 输出 26 如果您感到困惑,可以使用model.summary()直接打印出VGG19的结构。它显示一个层input\u 1(InputLayer)作为输入层 _________________________________________________________________ Layer (type)

Keras 凯拉斯:时代有线电视新闻网+;用于视频识别的LSTM

我试图实现上图所示的模型,该模型基本上由时间分布的CNN组成,然后是一系列使用Keras和TF的LSTM。 我划分了两种类型的类,并从每个捕获的视频中提取帧。帧提取是可变的,不要修复 然而,我在试图弄清楚如何将每个类中每个视频的图像帧加载为x\u-train,x\u-test,y\u-train,y\u-test model = Sequential() model.add( TimeDistributed( Conv2D(64, (3, 3), activation='relu'),

在keras中连接多个CNN模型

我有8个CNN模型,分别为模型1、模型2、模型3、模型4、模型5、模型6、模型7、模型8,每个模型都有conv2d、激活、最大池和退出层。我希望将它们的输出连接起来,将其展平,最后进行编译并使其适合于分类目的,如下图所示: 我对连接、合并和拟合感到困惑。例如,我可以使用model1.add(flatte)单独展平每个模型并将它们连接起来,还是必须连接并展平所有模型?我的python代码如下: merge = Concatenate([model1, model2, model3, model4

Keras 创建CNN的凯拉斯

我正在与Keras合作建立自己的CNN来识别猫和狗。我创建了一个名为“猫和狗”的文件夹。此文件夹与我的jupyter笔记本位于同一目录中(“猫和狗”文件夹&Keras.ipynb笔记本均位于Anaconda3文件夹中)。现在,进一步的文件夹树如下所示: 猫和狗/ |_______________列车/ |_______________|_______猫/ |_______________________|_____1.jpg |_______________________|_____2.jpg

python中3D矩阵的规范化(LSTM/Keras输入)

LSTM输入矩阵在Keras中的形状如下: (sample size, number of time steps, number of features) 如何在python中使用MinMaxScaler函数规范化此输入?假设我们有一个具有以下形状的输入矩阵:(10,3,2)MinMaxScaler设计用于仅处理二维表格数据,因此我怀疑您想要做的是: for i in range(X.shape[1]): X[:, i, :] = MinMaxScaler().fit_transfor

如何将keras.utils.Sequence data generator与tf.distribute.Mirrored策略一起用于tensorflow中的多gpu模型训练?

我想使用tensorflow 2.0在多个GPU上训练一个模型。在分布式培训的tensorflow教程()中,tf.datadatagenerator被转换为分布式数据集,如下所示: dist_dataset = mirrored_strategy.experimental_distribute_dataset(dataset) 但是,我想改用自己的自定义数据生成器(例如,keras.utils.Sequencedatagenerator,以及keras.utils.data\u utils.

Keras conv2D输入形状错误。检查输入时出错:预期conv2d_4_输入有4个维度,但得到了具有形状的数组(581951)

我面临关于输入形状的问题。在model.fit()过程中,我得到一个值错误 ValueError: Error when checking input: expected conv2d_4_input to have 4 dimensions, but got array with shape (58, 195, 1) 有办法解决这个问题吗?我还尝试将数据重塑为(-1,58195,1)。它不起作用你想做什么?这是图像数据还是数字数据?例如,你们有195个特征的58个样品吗?或者是一组(581

pytorch中keras.layers.Masking的等效值是什么?

我有时间序列,我需要通过在矩阵中填充零并使用keras.layers.Masking在keras中我可以忽略这些填充的零来进行进一步的计算,我想知道如何在Pytorch中做到这一点 要么我需要在pytroch中进行填充,而pytorch无法处理长度不同的序列,这相当于pytorch中keras的掩蔽层,要么如果pytorch处理长度不同的序列,该如何处理?您可以使用与keras掩蔽等效的类。您可以在torch.nn.utils.rnn 这里举一个例子 导入火炬 导入torch.nn作为nn 从t

Keras:多类CNN文本分类器为所有输入数据预测同一类

我试图通过单词嵌入和CNN预测一些短文本数据的8个类中的一个。出现的问题是CNN分类器预测一个类中的所有内容(训练数据中最大的一个,分布约40%)。文本数据应该经过很好的预处理,因为分类可以很好地与其他分类器(如SVM或NB)配合使用 ''' #首先,在嵌入集中建立索引映射词到它们的嵌入向量 导入操作系统 嵌入_索引={} f=open(os.path.join(“”,'embedded_word2vec.txt'),encoding='utf-8') 对于f中的行: values=line.s

Keras SVM Scikit学习-数据扩充是否可能?

Scikit learn或其他库中是否有支持支持支持支持向量机数据扩充的函数? 像Keras中的ImageDataGenerator一样,只用于支持向量机吗 这对我来说确实是一个很重要的问题,我一直在努力回答这个问题,因此,我非常感谢任何提示。这个数据增强过程是针对SVM的吗?@MaximeKan到目前为止,我对这样一个库的搜索没有成功。@MaximeKan你有什么提示吗?你使用的是什么类型的数据?这个数据增强过程是针对SVM的吗?@MaximeKan到目前为止,我对它的搜索没有成功。@Maxi

Keras/Tensorflow在SageMaker管理的AWS ml.p2.xlarge实例上未检测到GPU

我在ml.p2.xlarge实例上使用一个定制Docker容器与SageMaker一起使用 基本映像是,它通常随所需的CUDA工具包一起提供。python包是通过conda使用以下最低限度的环境安装的。yaml: dependencies: - boto3 - joblib - keras - numpy - pandas - scikit-learn - scipy - tensorflow=2.0 但是,当我为一个小型的lenet5CNN运行培训作业时,我在

从onnx转换为keras时发生onnx2keras错误

我正在尝试导入一个onnx模型并将其转换为keras 下面是我正在使用的代码片段: import onnx import onnxmltools import onnx2keras from onnx2keras import onnx_to_keras onnx_model = onnxmltools.utils.load_model('gdrive/My Drive/Model/MLP_Heart_comfort_model.onnx') k_model = onnx_to_keras(o

自定义ImageDataGeneratorKeras

我一直在尝试实现Keras自定义imagedatagenerator,这样我就可以进行头发和显微镜图像增强 这是Datagenerator类: class DataGenerator( Sequence ): def __init__(self,image_paths,labels, augmentations, batch_size=32, image_dimension=(224,224,3), shuffle=False): self.image_paths =

Keras:我如何实现fcn结构?

上图是FCN结构。我想通过keras实现它。 有一个输入,Upsample block genrate 4个不同分辨率的预测图像,因此需要提供相应的4个不同比例的地面真相,最终损失为: 我的问题是如何利用keras实现这一损失? 这是关于多输出模型的问题吗 非常感谢

keras模型保存条件

我正在测试保存keras模型。 我在keras主页中使用了这个例子,直到model.fit(),除了“keras.utils.plot_model()” () 然后保存模型: model.save("model_test/keras_h5.h5") 它通常保存得很好,但有时在结束时会产生错误。 这是不寻常的,所以我怀疑一定是软件包版本问题,并且很难检查哪个软件包、哪个版本会导致问题。 除了model.save()环境外,我还同时测试了另外两个环境,一个用于autokeras

Keras未知的DenseNet错误:获取卷积算法失败

我想在GPU中运行此代码 tensorflow gpu:2.3.1 Cuda版本:10.2 结果:未知错误:无法获取卷积算法。这是 可能是因为cuDNN未能初始化,所以请尝试查看 上面打印了一条警告日志消息。[[节点 功能性_1/conv1/conv/Conv2D(定义于 :129) ]] [Op:uu推理u训练u功能u 29003] 函数调用堆栈:train_函数 你能帮我吗 先谢谢你 def build_model(): #include_top: whether to include th

恢复对keras模型的培训,回调为';早顶'';仅保存“最佳”'';还原隆高原';,和';张力板';

我在一个巨大的数据上训练一个巨大的模型,但问题是我训练的集群不允许训练超过两周,但我的模型需要更多的时间。我使用了12个时期的早期训练,5个时期的减少了回旋高原,TensorBoard和我保存了最好的模型,因为我不想在训练被迫停止时使用12个时期的模型。但是集群现在在两周后停止了训练,而训练并没有因为提前停止而停止,但是已经有3个阶段没有改善,所以我想继续训练,看看是否会再次实现改善,或者在9个以上阶段没有改善后提前停止训练。但问题是,我只保存了最好的模型,假设是在第8个历元之后实现的最好模型,

设置Keras.backend.ctc\u批处理成本的标志

目前对于大多数数据,我的文字识别神经网络工作得很好。但对一些人来说,我遇到了这个错误 没有足够的时间进行目标转换序列(必需:53,可用:50)0您可以使用“忽略”标志将此错误转化为警告,该标志的输出时间比输入时间长 我已经对此进行了研究,并了解到我必须将标志ignore\u outputs\u设置为比输入长,但我无法确定在哪里。这是我的模型的代码 def __init__(self, name=None): super().__init__(name=name)

Keras 凯拉';ImageDataGenerator随机崩溃

我有以下结构,我想从测试中读取jpg文件 ./cats_dogs_small ├── test │ ├── cats <- 1000 images │ └── dogs <- 1000 images 每次运行时,我都会收到相同的错误消息: 2020-11-19 16:08:56.973416: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic li

以keras计算的多重损失总和

我正在训练一个有两个输出的模型,我得到两个输出的损失,out_1_loss和out_2_loss,这两个输出加起来不等于也显示的loss。为什么会这样 我的模型: my_mdl = Model(Input_,[out_1,out_2]) 并使用两种损失: my_mdl.compile(optimizer = 'adam', loss = {'out_1': 'binary_crossentropy', 'out_2'

  1    2   3   4   5   6  ... 下一页 最后一页 共 59 页