convolutional-neural-network相关内容

如何将5D张量引入LSTM?

我有3D CNN网络的输入形状为(150,80,80,16,3)的视频数据。 我得到了形状为(150,7,7,2,512)的conv Layer的输出,表明: 150号序列的数量 7,7高度和宽度 2时间维度 512个功能地图 我想将其提供给LSTM,所以我将输出数据重塑为: model.add(Reshape((1, 7*7*2*512))) model ..
发布时间:2022-07-17 18:28:21 Python

如何使用张量流从CNN层提取激活?

我想从完全连接的层中提取神经激活.在Caffe中,我就是这样 net.blobs [layer_name] .data 我如何在tensorflow中做同样的事情? 解决方案 您应该使用会话对象来获取存储在张量中的值.尽量不要忘记将占位符张量的值作为feed_dict传递. sess = tf.InteractiveSesssion()full_connected = ....v ..

在使用Keras进行训练之前调整MNIST图像的大小

我一直在从事涉及CNN及其权重的项目,并且我一直在尝试减少CNN中存在的权重数量.我想在训练CNN之前将MNIST图像的尺寸从28x28调整为14x14,但是我不知道如何在Keras中进行操作. 以下是用于导入MNIST数据集和构建CNN的代码示例: # LOAD MNIST DATA (X_train, y_train), (X_test, y_test) = mnist.load_ ..

为什么不使用输出张量的最大值代替Softmax函数?

我在图像一类分类上建立了CNN模型。 输出张量是一个包含65个元素的列表。我将此张量输入Softmax函数,并得到分类结果。 我认为这个输出张量的最大值是分类结果,为什么不使用这种方法来完成分类任务呢? 解决方案 Softmax用于多类别分类。在多类分类中,该模型有望以较高的概率将输入分类为单类。高概率进行预测会使其他类别的概率降低。 当您指出了为什么在最大函数上使用Softma ..
发布时间:2020-10-09 02:50:53 其他开发

YOLO对象检测:该算法如何预测比网格单元大的边界框?

我试图更好地了解YOLO2& 3种算法有效。该算法处理一系列卷积,直到降到 13x13 网格为止。然后,可以对每个网格单元中的对象以及这些对象的边界框进行分类。 如果您看这张图片,就会看到红色的边界框大于任何单独的网格单元。边界框也位于对象的中心。 我的问题与当网络激活基于单个网格单元时,预测边界框如何超出网格单元的大小有关。我的意思是,网格单元外部的所有内容对于预测该单元格中检测到的 ..

进行多尺度训练(yolov2)

我想知道 YOLOv2 中的多尺度训练如何工作。 在本文中指出: 原始YOLO使用的输入分辨率为448×448。通过添加锚框,我们将分辨率更改为416×416。但是,由于我们的模型仅使用卷积和池化层,因此可以即时调整大小。我们希望YOLOv2能够在不同尺寸的图像上运行,因此我们将其训练到模型中。我们不固定输入图像的大小,而是每隔几次迭代就更改网络。我们的网络每10批将随机选择一个新的图 ..

Dense(2)和Dense(1)之间的区别是二进制分类CNN的最后一层?

在用于图像的二进制分类的CNN中,输出的形状应该是(图像数量1)还是(图像数量2)?具体来说,这是CNN中的2种最后一层: keras.layers.Dense(2,activation ='softmax' )(上一个图层) 或 keras.layers.Dense(1,activation ='softmax')(previousLayer) ..

Unet分割模型可预测空白图像吗?

我使用Unet架构进行肺分割,它向我展示了更好的训练和Val损失,但是当我调用预测功能并给一个训练集图像作为输入时,给了我空白图像作为输出.我了解为什么这样做当它显示出良好的验证准确性时. 我正在使用keras 解决方案 准确度不是用于细分的良好指标,尤其是对于医疗案例而言.您的数据集很可能是不平衡的,这就是为什么您获得高精度的原因(大多数地面真相掩模像素为"0").您应该使用Dice,p ..

用新课程重新训练模型

我建立了一个具有2个类别的图像分类器,例如"A"和"B".我还使用model.save()保存了该模型. 现在,经过一定时间后,出现了增加一个"C"类的要求.是否可以load_model()然后仅将一个类添加到先前保存的模型中,以便我们最终的模型具有3个类("A","B"和"C"),而不必重新训练整个模型,再次使用"A"和"B"类? 任何人都可以帮忙吗? 我已经尝试过了: ..

为Keras卷积网络指定一些不可训练的过滤器

我想开发一种卷积网络体系结构,其中在第一层(在这种情况下为Conv1D)中,我要指定不可训练的固定滤波器的某些部分,同时还要有几个模型可以学习的可训练的滤波器.这可能吗,怎么办? 我的直觉是,我可以制作两个单独的Conv1D层-一层可训练,一层不可训练,然后以某种方式将它们连接起来,但是我不确定代码中的样子.另外,对于不可训练的过滤器,我该如何预先指定权重? 解决方案 使用功能性AP ..
发布时间:2020-04-25 10:48:53 Python

如何使用暹罗网络进行保存,还原和预测(三重态丢失)

我正在尝试开发一个暹罗网络来进行简单的面部验证(并在第二阶段进行识别).我有一个可以训练的网络,但是对于如何保存和恢复模型以及对经过训练的模型进行预测,我有点困惑.希望领域中有经验的人可以帮助取得进步. 这是我创建暹罗网络的方式,从...开始... model = ResNet50(weights='imagenet') # get the original ResNet50 mo ..

转移学习为何要删除最后一个隐藏层?

在阅读有关迁移学习的博客时,通常会说-删除最后一层,或删除最后两层.也就是说,删除输出层和最后一个隐藏层. 因此,如果转移学习意味着还更改成本函数,例如从交叉熵到均方误差,我知道您需要将最后一个输出层从1001的softmax值层更改为Dense(1)层,该层输出浮点数,但是: 为什么还要更改最后一个隐藏层? 如果使用Keras以及具有imagenet权重的预定义CNN模型之一,那么 ..

反射填充Conv2D

我正在使用keras构建用于图像分割的卷积神经网络,我想使用“反射填充"而不是填充“相同",但是我找不到在keras中做到这一点的方法. inputs = Input((num_channels, img_rows, img_cols)) conv1=Conv2D(32,3,padding='same',kernel_initializer='he_uniform',data_format= ..