首页 > TAG信息列表 > conv-neural-network

如何实现maxpool:在图像或张量的滑动窗口上获取最大值

简而言之:我正在寻找Maxpool的一个简单的numpy(也许是oneliner)实现-在numpy.narray上的窗口上,该窗口在所有尺寸上的所有位置都达到最大值. 更详细地讲:我正在实现一个卷积神经网络(“ CNN”),这种网络中的典型层之一是MaxPool层(例如here).写作 y = MaxPool(x,S),x是输入narray,S是

python-重塑图像数组时感到困惑

目前,我正在尝试运行ConvNet.每个稍后供入神经网络的图像都存储为一个列表.但是此列表是使用三个for循环创建的.看一看: im = Image.open(os.path.join(p_input_directory, item)) pix = im.load() image_representation = [] # Get image into byte array for color in range(0,

python-在标准CNN上应用批量归一化的位置

我有以下架构: Conv1 Relu1 Pooling1 Conv2 Relu2 Pooling3 FullyConnect1 FullyConnect2 我的问题是,我应该在哪里应用批处理规范化?在TensorFlow中执行此操作的最佳功能是什么?解决方法:原始的batch-norm paper规定在ReLU激活之前使用批处理规范.但是有证据表明,激活后使用batchno

python-用numpy实现最大/平均池化(跨步)

我想知道如何使用numpy实现简单的最大/平均池.我正在阅读Max and mean pooling with numpy,但不幸的是,它假定步幅与内核大小相同.有numnumic的方法来做到这一点吗?如果这适用于任何维度,也很不错,但是当然不是必需的.解决方法:这是一个使用stride_tricks的纯numpy实现: import nump

python-在keras中使用Conv3d将多个图像输入到同一CNN

我想使用conv3d在同一CNN结构中同时输入8张图像.我的CNN模型如下: def build(sample, frame, height, width, channels, classes): model = Sequential() inputShape = (sample, frame, height, width, channels) chanDim = -1 if K.image_data_format() == "cha

为什么keras不允许以这种方式添加卷积层?

以下代码 from tensorflow import keras from keras.layers import Conv2D model = keras.Sequential() model.add(Conv2D(1, (3, 3), padding='same', input_shape=(28, 28, 1))) 执行时抛出错误: TypeError: The added layer must be an instance of class Layer. Found:

python – 培训期间CNN列车的准确性越来越好,但测试精度保持在40%左右

所以在过去的几个月里我一直在学习Tensorflow和Keras的神经网络,所以我想尝试为CIFAR10数据集建立一个模型(下面的代码). 然而,在训练过程中,准确性变得更好(从1个时期后的约35%到5个时期后的约60-65%),但是val_acc保持不变或仅增加一点.以下是打印结果: Epoch 1/5 50000/50000 [====

如何在Tensorflow中关闭dropout以进行测试?

我对Tensorflow和ML一般都很新,所以我特此为一个(可能)微不足道的问题道歉. 我使用dropout技术来提高我的网络的学习率,它似乎工作得很好.然后,我想测试网络上的一些数据,看看它是否像这样工作: def Ask(self, image): return self.session.run(self.model, feed_dict =

python – Keras 1d卷积层如何与单词嵌入一起工作 – 文本分类问题? (过滤器,内核大小和所有超参数)

我目前正在使用Keras开发一个文本分类工具.它工作正常(它工作正常,我的验证准确度达到了98.7)但我无法理解1D-convolution层与文本数据的关系. 我应该使用哪些超参数? 我有以下句子(输入数据): >句子中的最大单词:951(如果它更少 – 添加了填充) >词汇量:~32000>句子数量(用于训练):9800

python – 使用Keras在滑动窗口中评估函数

我正在尝试在序列中扩展匹配匹配算法.我的比赛长20个单位,每个时间点有4个频道.我已经构建了一个封装匹配的模型,我无法弄清楚如何在滑动窗口中使用它来跨更长的序列应用它来查找序列中的匹配. 我有2(20,4)个输入张量(查询和目标),我连接,添加,展平,然后应用一个简单的密集层.我在

python – CNN keras中图像的混淆矩阵

我已经使用keras训练了我的CNN模型(多类分类),现在我想在我的测试图像集上评估模型. 除了准确性,精确度和召回率之外,评估我的模型有哪些可能的选择?我知道如何从自定义脚本中获得精确度和召回率.但我无法找到一种方法来获取我的12类图像的混淆矩阵. Scikit-learn显示way,但不显示图

python – 用于从Keras预训练网络中检索图像的三重模型

我想实现一个图像检索模型.该模型将使用三重损失函数(与facenet或类似架构相同)进行训练.我的想法是使用Keras的预训练分类模型(例如resnet50),并使其成为三重架构.这是我在Keras的模特: resnet_input = Input(shape=(224,224,3)) resnet_model = ResNet50(weights='imagenet', inc

如何获取ImageDataGenerator.flow_from_directory Keras中的值列表?

我们可以使用带有flow_from_directory方法的ImageDataGenerator生成图像数据集.对于调用类的列表,我们可以使用oject.classes.但是,如何调用值列表?我搜索过但仍未发现任何问题. 谢谢 :)解决方法:ImageDataGenerator是一个python生成器,它每次都会生成一组数据,其形状与模型输入相同(

Python / Tensorflow – 我已经训练了卷积神经网络,如何测试它?

我已经训练了一个卷积神经网络(CNN),其中包含我在二进制文件中的以下数据(标签,文件名,数据(像素)): [array([2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0]), array(['10_c.jpg', '10_m.jpg', '10_n.jpg', '1_c.jpg�

如何在keras中的层之间共享卷积内核?

假设我想用深度卷积NN比较两个图像.如何在keras中使用相同的内核实现两个不同的路径? 像这样: 我需要卷积层1,2和3使用并训练相同的内核. 可能吗? 我也在考虑连接下面的图像 但问题是关于如何在第一张图片上实现托盘学.解决方法:您可以在模型中使用相同的图层两次,创建nodes: from k

python – 在resnet50转移学习期间的大规模过度装备

这是我第一次尝试与CNN做某事,所以我可能做了一些非常愚蠢的事 – 但无法弄清楚我错在哪里…… 该模型似乎学得很好,但验证准确性没有提高(甚至在第一个时期之后),验证损失实际上随着时间的推移而增加.它看起来并不像我过度使用(在1个纪元之后?) – 我们必须以其他方式关闭. typical

python – 卷积层特征映射的特殊函数

简而言之: 如何将特征映射从Keras中定义的卷积层传递到特殊函数(区域提议器),然后传递给其他Keras层(例如Softmax分类器)? 长: 我正试图在Keras中实现类似Fast R-CNN(不是更快的R-CNN)的东西.这是因为我正在尝试实现自定义架构,如下图所示: 这是上图的代码(不包括候选输入): from kera

使用带有lasagne NeuralNet的Conv2DLayer时出错

我有Windows 8.1 64位并使用推荐这里http://deeplearning.net/software/theano/install_windows.html#installing-theano python win-python发行版(python 3.4).我已经完成了教程的每一步(不包括CUDA的东西和GPU配置),卸载了所有内容并再次完成,但我的问题仍然存在.我正在尝试使用

python – 使用mxnet CNN模型进行预测

嗨,我是数据科学的新手, 我遵循了本教程https://mxnet.incubator.apache.org/tutorials/nlp/cnn.html,但我对如何使用上述教程生成的训练模型进行单一预测感到困惑.请指导我正确的方向来解决这个问题.谢谢.解决方法:以下是如何使用预训练模型进行预测的教程:https://mxnet.incubator

python – Tensorflow cnn错误:logits和label必须大小相同:

我正在尝试使用Tensorflow创建一个CNN,将图像分为16个类. 我的原始图片大小为72x72x1,我的网络结构如下: # Network n_input = dim n_output = nclass # 16 weights = { 'wc1': tf.Variable(tf.random_normal([5, 5, 1, 32], stddev=0.1)), 'wc2': tf.Variable(tf.ran

python – Tensorflow – 保存模型

我有以下代码,并在尝试保存模型时出错.我可能做错了什么,我该如何解决这个问题? import tensorflow as tf data, labels = cifar_tools.read_data('C:\\Users\\abc\\Desktop\\Testing') x = tf.placeholder(tf.float32, [None, 150 * 150]) y = tf.placeholder(tf.float32, [None

python – 批量培训但是在Tensorflow中测试单个数据项?

我已经训练了一个批量大小为10的卷积神经网络. 但是在测试时,我想分别预测每个数据集的分类而不是分批预测,这给出了错误: Assign requires shapes of both tensors to match. lhs shape= [1,3] rhs shape= [10,3] 我理解10指的是batch_size,3指的是我分类的类数. 我们不能使用批

python – 为什么Keras Conv1D图层的输出张量没有输入维度?

根据keras文档(https://keras.io/layers/convolutional/),Conv1D输出张量的形状是(batch_size,new_steps,filters),而输入张量形状是(batch_size,steps,input_dim).我不明白这是怎么回事,因为这意味着如果你传递长度为8000的1d输入,其中batch_size = 1且步数= 1(我听说步骤意味着输

python – tf.reshape vs tf.contrib.layers.flatten

所以我正在运行CNN来解决分类问题.我有3个带有3个池层的转换层. P3是最后一个合并图层的输出,其尺寸为:[Batch_size,4,12,48] _,我想将该矩阵展平为[Batch_size,2304]大小矩阵,为2304 = 4 * 12 * 48 .我曾经使用“选项A”(见下文)一段时间,但有一天我想尝试“选项B”,这在理论上会给

python – 使用TensorFlow和Keras进行图像分类

from keras.preprocessing.image import ImageDataGenerator from keras.models import Sequential from keras.layers import Conv2D, MaxPooling2D from keras.layers import Activation, Dropout, Flatten, Dense from keras import backend as K # dimensions of our im