Keras 如何预测一层';s以端到端的方式使用另一个模型的权重?

我正在从事视觉问答任务,我想复制本文中的工作 其中,他们使用问题嵌入预测网络中的层权重。我想知道我能在keras做到这一点吗? 我试过了,我知道每个张量都有一个参数权重 ex:密度(128,重量=) 但它期望一个真实的数字,我想以端到端的方式训练网络

Keras 如何将遮罩值输入到卷积1D层

我需要将可变长度的序列输入到我的模型中 我的模型是embedded+LSTM+Conv1d+Maxpooling+softmax 当我在Embedding中设置mask\u zero=True时,我无法在Conv1d处编译 如何在Conv1d中输入掩码值,或者是否有其他解决方案?Conv1d层目前不支持掩码。这是一份关于keras回购协议的报告 根据任务的不同,您可能可以像嵌入序列中的其他值一样嵌入mask\u值,并应用全局池(正如您现在所做的那样)。掩蔽层要求每个下游层都支持掩蔽,而Conv1

Keras 你是干什么的?

此代码中的两个密集的含义是什么 self.model.add(Flatten()) self.model.add(Dense(512)) self.model.add(Activation('relu')) self.model.add(Dropout(0.5)) self.model.add(Dense(10)) self.model.add(Activation('softmax')) self.model.summary() Dense是该模型中唯一的实际网络层 密集层将前一层的所有输出

来自目录类索引的Keras流

我以前是手动创建的,但现在我使用来自目录的flow_来使用我自己的数据训练我的网络。我只有一个问题。当我制作model.predict()时,我怎么知道我的预测索引0是针对标签类别狗的,而索引1是针对类别猫的 我使用的代码如下 train_datagen = ImageDataGenerator( rescale=1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True) test_datagen

其中是“的代码”;密集的;keras中的功能?

我正在努力学习keras,我不断遇到稠密的函数,但我一辈子都找不到源代码。有什么想法吗?这是源代码: 调用Dense()将创建一个层,您可以将其添加到模型中 第一个参数是此层中所需的单元数。 其他一切都将是自动的,如权重创建、输出计算、梯度下降等 作为一名学习者,您现在可能不应该深入研究源代码,最好理解它是一个层,它执行操作: inputs x weights + biases 其中,根据单位数量和输入尺寸自动创建权重和偏差 了解如何使用致密层的最佳场所是keras文档:

在Keras中,如何获得现有模型的“class_指数”或预测标签

我知道keras提供了一个.class\u索引字典,其中包含从类名称到类的映射,作为的一部分。flow\u from\u directory()from其ImageDataGenerator类() 但是,是否有方法从现有保存的模型(保存为.h5文件的模型)访问相应的类标签?这在将我的模型投入生产和服务预测时显得很重要,因为类在前面是未知的,因此图像不会在预先标记的目录中分开。它位于列车生成器的类索引属性中 列车\u生成器\u示例=来自\u数据帧的ImageDataGenerator.flow\u

Keras:通过回顾或层数确定的LSTM时间分辨率

如果使用不同的回溯步骤查看数据,如果使用更多的LSTM层,结果是否相同/相似?或者换个角度问,我是否也会获得不同的时间分辨率,或者更多的层不意味着不同的时间分辨率,而只是模式的复杂性和非线性 LSTM是否固定在识别模式的时间步长上,或者LSTM是否也会找到中间/较短的模式 核心思想是为LSTM提供尽可能长的时间步长,以发现长期、中期和短期模式?这是一种有效的方法,还是应该为每个范围提供不同的时间步长 感谢您的帮助通常,LSTM可以按顺序捕获长期和短期依赖关系。 但是提出了一个问题,即对于长序列,

关于“理解Keras LSTM”的疑问`

我是LSTMs的新手,正在经历一个复杂的过程,对作者的一个漂亮的答案产生了一些愚蠢的怀疑 以下是我的一些疑问: 在实现一对多一节中指定了两种方法,我们可以使用stateful=True重复获取一个步骤的输出,并将其作为下一个步骤的输入(需要输出功能==输入功能) 在一对多重复向量图中,重复向量在所有时间步中作为输入馈送,而在一对多有状态=真的中,输出在下一时间步作为输入馈送。那么,我们不是通过使用stateful=True来改变层的工作方式吗 在构建RNN时,应遵循上述两种方法中的哪一种(使用重

Keras 过度装配、过度训练或结构不正确

我有一个6*32的技术数据数组,看起来像“射线”,连接了六行中的部分或全部的局部最大值,并以某种角度颠倒: 1: 100 (102) 97 98 127 120 121 2: 88 87 (91) 90 88 88 88 3: 101 100 101 100 101 100 100 4: 99 97 97 98 (99) 98 97 5: ... 6: ... 我的基本想法是使用CNN网络,因为目前运营商以视觉方式检测这些模式,而且在

Keras多输出:如何将类权重应用于一个输出,而不影响其他输出

我有一个共享同一后端的多输出put模型。我已经将类权重应用于其中一个输出,这使得该特定输出的结果得到了改进。然而,这对其他产出产生了负面影响(准确性降低)。这可能是因为具有类权重的输出可能会影响后端模型中的权重,这些权重由所有其他输出共享 有办法解决这个问题吗

Keras不能做但Pytorch可以做的详细示例?

我读过很多文章说Keras的水平太高,很难用于研究。我发现Keras有Lambda层和自定义层,那么有哪些详细的例子可以说明Pytorch可以实现什么,而Keras不能实现,或者很难实现?谢谢。你读到的只是意见,所以不是进行此类讨论的地方。缺乏再现性,尝试在Keras中设置种子,而不是尝试torch.manual_seed()。但是我同意,主题太宽泛了,你所读的只是观点,因此不是进行此类讨论的真正场所。缺乏再现性,尝试在Keras中设定种子,而不是尝试火炬。手动种子()。但我同意,这个话题太宽泛

Keras 预测新的ImageNet图片

我在预测基于ImageNet数据库的新图像时遇到问题,其中对象放置在不同的背景上。预测类在各种模型(resnet和VGG)上运行良好,但在Densenets和Inception中根本不起作用。我认为这与标签有关,但我不知道到底出了什么问题 标签的顺序从0到999(在地图中划分),并且与原始数据集的顺序相同 我已将标签更改为其他格式(例如n02676566)。这对DenseNet不起作用(Resnet仍然工作良好) 代码: model = keras.applications.densenet.D

Keras 用LearningRateScheduler实现余弦衰减

我想使用LearningRateScheduler实现余弦衰减学习率,每当我实现以下代码时,它都会给出以下错误: ValueError:“schedule”函数的输出应该是float 谁能告诉我我的代码有什么问题吗 class CosineDecreaseX(object): def __init__(self, decay_steps , baseLR): self.decay_steps = decay_steps self.baseLR = baseLR

Keras KERA和输入和损失的形状

在keras的所有代码示例中,我看到直接传递输入形状,并推测批量大小是第一个,例如: model = Sequential() model.add(Dense(32, input_shape=(16,))) # now the model will take as input arrays of shape (*, 16) # and output arrays of shape (*, 32) 然而,当谈到自定义损耗时,我看到使用了最后一个轴(轴=-1) 在填写损失时,是否应将y_true和

keras中两个.h5文件夹的平均重量

我在不同的数据集上训练了两个模型,并将每个模型的权重保存为ModelA.h5和ModelB.h5 我想平均这些权重,创建一个名为ModelC.h5的新文件夹,并将其加载到同一个模型架构上。 我该怎么做呢?在不同数据集上训练的模型不能这样添加。看起来像这样。让我们这样说,训练一个人将1000张图像分为5类,然后训练另一个人将另外1000张图像分为5类。现在,您要将它们合并为一个 相反,您可以做的是将这两个网络进行集成。有多种方法可以使用最大投票、平均或加权平均、Bagging和Boosting等来

Keras 深度学习NLP:“;“高效”;类似BERT的实现?

我在传统的公司环境中工作,在NLP项目中,我只有16个核心64GB虚拟机可供使用。我有一个多标签NLP文本分类问题,我真的很想利用一个深度表示学习模型,比如BERT、RoBERTa、ALBERT等 我有大约200000个文档需要标记,并且我已经注释了大约2000个文档集,用作培训/测试/微调的基本事实。我还有大量与领域相关的文档可供培训前使用。我很可能需要从头开始进行预培训,因为这是一个临床领域。我也欢迎预先训练过的模特,如果他们有机会做一些微调,比如拥抱脸部等等 人们会推荐哪些与PyTorch

Keras 自定义丢失函数问题:在图形执行中不允许将`tf.Tensor`用作Python`bool`

我试图通过以下公式实现自定义损失: 这是为我的模型使用真正的自定义损失函数的第一步。数据集为Keras Cifar10。实现似乎是正确的,但我发现以下错误: operator不允许在图形执行中使用tf.Tensor作为Pythonbool。使用渴望执行或用@tf.function修饰此函数。 def custom_loss(y_true, y_pred): # −(the formula u used is the ROOT MSE (RMSE) def RMSE(y_true, y_

Keras在2个GPU上运行2个独立的培训过程。资源排风机

我有2个GPU GTX1080,安装了Keras v2。我同时在gpu0和gpu1上运行2个培训过程。但是,我得到了资源抽风机 少了什么 python multi-gpu-process.py--gpu_id=1(正常) python multi-gpu-process.py--gpu_id=0(请提供ResourceExhaustedError.Help。) #文件:multi-gpu-process.py(两个培训过程在不同的gpu上工作) 将numpy作为np导入 导入操作系统 def g

Keras 为什么在堆叠RNN中返回序列?

堆叠RNN时,必须在Keras中将return_sequences参数设置为True 比如在Keras lstm1 = LSTM(1, return_sequences=True)(inputs1) lstm2 = LSTM(1)(lstm1) 为每个堆叠的RNN层保留输入空间的维度有些直观,但是,我并不完全相信 有人能(从数学上)解释原因吗 谢谢。重复层的输入形状为: (序列数、时间步长、输入功能) 对于重复出现的层,这是绝对必要的,因为只有在存在时间步长的情况下才能出现任何重复出现 现

在Keras中,如何获取与“;模型";我的模型中包含的对象?

我在初始基础上使用VGG16网络构建了一个顺序模型,例如: 从keras.applications导入VGG16 conv_base=VGG16(weights='imagenet', #不包括顶部完全连接的致密层 include_top=False, 输入_形状=(150,150,3)) 从keras导入模型 从keras导入图层 model=models.Sequential() 模型添加(conv_base) model.add(layers.flatte()) model.add(lay

dose model.fit()调用Keras中的model.predict()?

我总是假设model.fit()调用model.predict()某个地方,因为损失函数是用y\u true和y\u pred定义的。但是,我注意到model.predict()返回一个numpy数组,y\u pred是一个张量。y_pred不是来自预测函数吗 谢谢你的帮助 不,它不调用model.predict() 您可以查看源代码,但它相当长且复杂:谢谢,我明白了。如果我需要使用model.predict()的结果来定义一个损失函数,然后再回去微调LSTM,该怎么办。我可以只将y_pred转

Keras 时间分布层可以用于多对一LSTM吗?

在Keras中,我发现许多人在训练多对一LSTM模型时将“返回序列”指定为False。 我想知道我是否可以为每个时间步单元使用一个时间分布层,然后在上面使用一个密集层来获得输出?是的,您可以这样做。 问题是,你想要实现什么。return_序列返回所有隐藏状态,通常用于堆叠多个LSTM或用于顺序对顺序预测(多对多)。默认值为“False”,因为它不是使用序列输出的标准用例 当您使用最终密集层中的序列输出进行多对一预测时,它实际上没有帮助,因为LSTM应该已经学会了这样做。尝试一下,有时会有帮助,但

Keras中的状态自动编码器

我正在尝试创建一个有状态的自动编码器模型。目标是使自动编码器对每个时间序列都有状态。数据由10个时间序列组成,每个时间序列的长度为567 timeseries#1: 451, 318, 404, 199, 225, 158, 357, 298, 339, 155, 135, 239, 306, .... timeseries#2: 304, 274, 150, 143, 391, 357, 278, 557, 98, 106, 305, 288, 325, .... ... timeseries

如何检查keras培训是否已经在GPU中运行?

有时我犯了一个错误,试图在同一个GPU(两个不同的脚本)中使用keras同时运行两个训练,使我的机器崩溃或破坏两个训练 我想能够在我的脚本测试,如果有一些训练运行,因此要么改变gpu或停止新的训练 我在搜索答案时发现的唯一提示是使用nvidia smi检查GPU中运行的进程 nvidia smi输出示例: +-----------------------------------------------------------------------------+ | NVIDIA-SMI 411

Keras 最小化和最大化损失

我想训练一个自动编码器,使重建误差在某些观测值上较低,而在其他观测值上较高 from keras.model import Sequential from keras.layers import Dense import keras.backend as K def l1Loss(y_true, y_pred): return K.mean(K.abs(y_true - y_pred)) model = Sequential() model.add(Dense(5, input_di

keras->;mlmodel:coreml对象没有属性';转换为';

我正在尝试使用coreml将我的keras模型转换为mlmodel。然而,这意味着coremltools模块没有“convert”属性 AttributeError: 'module' object has no attribute 'convert' 我的coremltools、keras、tensorflow(tensorflow gpu)模块都是最新的。 我也在使用python 2.7.10 我用过windows和mac,但都不起作用。但是,caffe.convert正在使用caffe模

使用keras模型检查输入时出错

我是火车模型,将模型保存在磁盘上,使用模型时出错 Error when checking input: expected conv2d_input to have 4 dimensions, but got array with shape (150, 150, 3) 列车型号: model = Sequential() model.add(Conv2D(32, (3, 3), input_shape=(150, 150, 3)) 使用模式: model = load_model(os.p

Keras 为什么模型的训练精度在一定时期内增长非常缓慢(几乎保持稳定)?

我正在处理CIFAR-10数据集,并试图获得基准或至少90%的准确性。我已经尝试了下面提到的所有方法,但大多数都会产生相同的结果,那就是经过一段时间后,训练精度没有提高,并且保持稳定,验证精度也略有波动。 数据集目录如下所示: \cifar \train(total 40,000 images. 4000 images per class. Total 10 classes) \airplane \automobile......(similar struc

在计算二元熵损失时,有没有办法让keras忽略标签?

我正在为(某种)语义分割任务编写一个自定义损失函数,在这个任务中,我计算目标(2-d数组)和预测的二进制交叉熵(使用keras后端)。总损失是4个不同损失函数的总和 在其中两个函数中,我需要制作一个定制的目标数组,并用这些目标和预测计算二进制交叉熵。在这里,我想忽略而不是计算目标数组中标签为1(前景)的损失 在pytorch的nll_loss()中有一个参数“ignore_index”,它与我尝试做的类似 我正在努力实现以下目标: def binary_crossentropy(y_true,

Keras 如何将语音数据重塑为LSTM输入?

我在语音数据中对语音和非语音进行分类,每个语音数据有3630371个数据点和39个特征。i、 语音数据的e形为(3630371,39)。如何将其重塑为LSTM输入。3D输入形状必须是什么,或者“样本”、“时间步长”和“特征”的值是什么 以下是正确的吗 data.reshape(3630371, 1, 39) LSTM(32, input_shape = (1, 39)) 请帮忙!我没有线索。LSTM输入:(样本、时间步、功能的数量) 在上面的代码中,您实际上只有1个timestep,它没有利用

使用Keras加载训练图像

要使用Keras训练模型,我是否应该将所有图像加载到一个数组中,以创建类似 x_train, y_train 或者,有没有更好的方法在训练时在飞行中读取图像。我没有寻找ImageDataGenerator类,因为我的输出是一个点数组,而不是基于目录名的类 我设法将我的数据csv文件包含在9列中的点阵列和图像文件名,如下所示: x1 x2。。。。。x8 Image_file_name将整个数据集加载到阵列中的内存中不是一个好主意,因为内存消耗可能会失控,因此应该使用生成器。ImageDataGe

Keras 在每个历元之后,精度保持不变

我已经创建了一个模型来对飞机和汽车图像进行分类,但在非常长的时间之后,acc和val_acc保持不变 import numpy as np import matplotlib as plt from keras.models import Sequential from keras.layers import Convolution2D from keras.layers import MaxPooling2D from keras.layers import Flatten from kera

Keras 在训练过程中如何计算多类分类问题在每个历元的查全率

我正在使用Tensorflow 1.15.0和keras 2.3.1。我正在尝试计算每个历元的六类分类问题的精度和召回率,用于训练数据和训练期间的验证数据。 我可以使用分类报告,但它只有在培训完成后才能工作 from sklearn.metrics import classification_report y_pred = final.predict(X_test) y_indx = np.argmax(y_test_new, axis = 1) pred_indx = np.argmax(y_

Keras 如何预处理用于训练字符级RNN的数据

我正在尝试训练一个RNN模型,它对名字的来源进行分类。数据看起来像附加的图像。我知道我必须首先将标签映射为整数。我正在使用以下代码来执行此操作: from sklearn.preprocessing import LabelEncoder encoder = LabelEncoder() origin_label = encoder.fit_transform(origins) 我很难弄清楚接下来的步骤是什么。我正在使用Keras构建这个模型。非常感谢你的帮助

Keras &引用;“梯度”操作的“无”;自定义损失函数的问题

我似乎有一个特定的代码,因为我在网上找不到我想要的,所以我的问题是: 我已经编写了一个NN,它接受一个特定长度的数组,并且应该给我一个单值作为输出: model = tf.keras.Sequential() model.add(layers.Embedding(input_dim=int(input_len_array), output_dim=8 * int(input_len_array))) model.add(layers.GRU(32 * int(input

使用tf.TensorSpec函数保存输入来自多个位置的Keras模型

我正在处理一些演示数据来构建一个二进制分类器。有8个分类变量(假设这8个分类变量已经是整数编码的)以及14个数值变量 我将分类输入和数字输入分开,并创建两部分输入:8个分类输入首先进入嵌入层。嵌入层将连接到14维数字输入层 因此,整个模型的实际(一条记录/一行)/输入如下: [1,2,3,4,5,6,7,8,[1,2,3,4,…,14]] 我的模型结构是这样的 cat_inputs = [] embeddings = [] for col in encoded_vars: #

Keras模型的输入数组的形状有什么问题?

我有一个经过训练的图像分类模型。该模型基于Keras附带的异常模型,它期望输入图像的大小为299x299像素。因此,在将图像输入模型之前,我会将图像调整为该格式 但是,当调用model.predict(img)时,我确实会得到以下错误: ValueError: Input 0 is incompatible with layer model:expected shape=(None, 299, 299, 3), found shape=(None, 299, 3) 但是,当我在调试器中调用pr

将调整大小层添加到keras顺序模型

如何将调整大小的图层添加到 model = Sequential() 使用 model.add(...) 要将图像的大小从形状(160、320、3)调整为(224、224、3)?通常情况下,您会使用图层进行此操作: model.add(Reshape((224,224,3), input_shape=(160,320,3)) 但是,由于您的目标维度不允许保存来自输入维度的所有数据(224*224!=160*320),这将不起作用。只有在元素数量不变的情况下,才能使用重塑 如果您对图像中的某

如何在Keras中使用model.reset_states()?

我有顺序数据,我声明了一个LSTM模型,该模型预测了Keras中的y和x。因此,如果我调用model.predict(x1)和model.predict(x2),在这两个predict()之间显式调用model.reset\u states是否正确?是否清除输入的历史记录,而不是权重,对吗 # data1 x1 = [2,4,2,1,4] y1 = [1,2,3,2,1] # dat2 x2 = [5,3,2,4,5] y2 = [5,3,2,3,2] 在我的实际代码中,我使用model.e

Keras:语法澄清

keras的新手: 我试图理解keras中使用的语法。 我很难理解的语法是在构建网络时。我已经在许多地方看到了,如下代码中所述 语句如下:current\u layer=SOME\u codeccurrent\u layer 这种说法是什么意思?这是否意味着首先在某些_代码中描述的计算要遵循在当前层中描述的计算 这种语法的用途是什么?应该在什么时候使用?有什么优势和选择吗 input_layer = keras.layers.Input( (IMAGE_BORDER_LENGTH

Keras 如何规范化图层';单个正则化函数中的s核权重偏差权重?

引入了单独的权重正则化和偏差正则化类。这些可以是添加自定义正则化器的子类。Keras文档中的一个示例: def my_regularizer(x): return 1e-3 * tf.reduce_sum(tf.square(x)) 其中x可以是内核权重或偏差权重。但是,我想用一个函数来规范我的层,该函数包括层权重和层偏移。有没有一种方法可以将这两种功能合并到一个函数中 例如,我希望有一个正则化器: def l1_special_reg(weight_matrix, bias_vect

Keras标记器如何处理看不见的数据?

假设我已经用一些词汇训练了一个标记器,那么keras标记器在遇到词汇训练数据中不存在的单词时会做什么呢?它只是忽略它吗?根据文档,如果设置oov_标记,您应该能够处理看不见的单词 oov_token`: if given, it will be added to word_index and used to replace out-of-vocabulary words during text_to_sequence calls

如何使用KerasClassifier验证拆分和使用scitkit学习GridSearchCV

我想尝试测试一些超参数,这就是我想使用GridSearchCV的原因,因为它似乎就是这样做的 但我还想使用验证拆分。使用呼叫回传,如提前停止或/和减少呼叫。所以我的问题是: 我如何正确实现GridSearchCV+验证\u分割,验证分割中的任何数据都不用于训练,而整个训练集用于训练我的模型? Afaik GridSearchCV再次拆分我剩余的列车数据(即1-validation_split)并再次拆分?我得到了相当高的准确度,我认为我没有正确地分割数据 model = KerasClassif

Keras如何对层的输出进行切片,然后将其添加到模型中

我有一个输出[N,100100,2]的层 我只想使用[N,100100,0],我已经使用了切片(层[0,0,0,0],-1,-1,-1,1]来获得它,但是我无法将切片输出添加到模型中,因为它不是层 这是怎么做到的 有人能提供一段代码吗 c3 = Convolution2D(2, (1, 1),strides=(1,1),padding='same',use_bias=True,activation='softmax') output = (c3)(output) slicedoutput = s

Keras 在这种情况下,哪种模式更好?

有两种神经网络模型 第一个模型没有任何正则化,显示了从第10纪元开始的过度拟合。所以这个模型在第九纪元停止训练。验证损失最少发生在第9纪元 第二个模型有一个正则化(退出),并且没有显示过拟合。所以这个模型比第一个模型训练的时间要长得多。但最小验证损失值不高于第一个模型的最小验证损失值。尽管该模型可以进行更多的训练,但该模型似乎没有达到第一个模型验证损失最小的值 这些模型训练相同的数据集,除了是否使用正则化外,结构几乎相同 在这种情况下,哪一个更好?如果你可以肯定地说第一个太合适了,我就不使用了。

关于保存keras模型的查询。保存模型是如何工作的?

保存Keras模型后,该模型保存在哪里?是否保存在本地?下面的代码正在保存模型 from keras.models import load_model model.save('my_model.h5') # creates a HDF5 file 'my_model.h5 model = load_model('my_model.h5') 保存模型后,我可以在另一个jupyter ipynb文件中再次使用负载模型吗?当我们执行模型保存时,它将同时保存模型架构和重量。它将在本地保存为.h5,

不使用init将参数传递给扩展keras.model

文档提供了在不使用init方法的情况下扩展模型的方法。根据我的理解,这很好,因为您不必实现调用函数。现在要实例化模型,可以执行以下操作 model = CustomModel(inputs, outputs) 不确定输入,输出的去向-很高兴知道-但我的问题是如何在实例化模型时传递附加参数,即: model = CustomModel(inputs, outputs, other_args) 编辑 other_args可以是传递给CustomModel(而不是keras.model)的任

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