标签: conv-neural-network

卷积神经网络与下采样?

读完这个主题后,我并不完全理解:神经网络中的“卷积”是否可以与简单的下采样或“锐化”功能相媲美?

你能把这个词分解成一个简单易懂的形象/类比吗?

编辑:在第一个答案之后改写:池化可以理解为权重矩阵的下采样吗?

machine-learning convolution neural-network deep-learning conv-neural-network

0
推荐指数
1
解决办法
2823
查看次数

Tensorflow 中占位符的形状

我在短时间内使用 Tensorflow。这是我的问题:我加载 AlexNet 权重以对其进行微调,所以我给出了 50 的批次。所以我定义了:

# Graph input
x = tf.placeholder(tf.float32, [50, 227, 227, 3])
y = tf.placeholder(tf.float32, [None, 40])
Run Code Online (Sandbox Code Playgroud)

我给出了一批 50 张图像,并希望获得 40 个输出类。

然后我定义了我的模型

class Model:
@staticmethod 
def alexnet(_X, _dropout):
    # Layer 1 (conv-relu-pool-lrn)
    conv1 = conv(_X, 11, 11, 96, 4, 4, padding='VALID', name='conv1')
    conv1 = max_pool(conv1, 3, 3, 2, 2, padding='VALID', name='pool1')
    norm1 = lrn(conv1, 2, 2e-05, 0.75, name='norm1')
    # Layer 2 (conv-relu-pool-lrn)
    conv2 = conv(norm1, 5, 5, 256, 1, 1, group=2, name='conv2')
    conv2 = max_pool(conv2, …
Run Code Online (Sandbox Code Playgroud)

input conv-neural-network tensorflow

0
推荐指数
1
解决办法
2万
查看次数

使用图像裁剪作为训练数据集的 TensorFlow 对象检测 API

我想从 Tensorflow 对象检测 API 训练一个 ssd-inception-v2 模型。我想使用的训练数据集是一堆不同大小的裁剪图像,没有边界框,因为裁剪本身就是边界框。

我按照 create_pascal_tf_record.py 示例相应地替换了边界框和分类部分以生成 TFRecords,如下所示:

def dict_to_tf_example(imagepath, label):
    image = Image.open(imagepath)
    if image.format != 'JPEG':
         print("Skipping file: " + imagepath)
         return
    img = np.array(image)
    with tf.gfile.GFile(imagepath, 'rb') as fid:
        encoded_jpg = fid.read()
    # The reason to store image sizes was demonstrated
    # in the previous example -- we have to know sizes
    # of images to later read raw serialized string,
    # convert to 1d array and convert to respective
    # shape that image …
Run Code Online (Sandbox Code Playgroud)

image-processing computer-vision deep-learning conv-neural-network tensorflow

0
推荐指数
1
解决办法
1626
查看次数

Keras flow_from_directory 函数返回错误:[WinError 3] 系统找不到指定的路径

我在 Python 中的 Keras 代码如下所示:

training_set = train_datagen.flow_from_directory('dataset/training_set',
                                                target_size=(64, 64),
                                                batch_size=32,
                                                class_mode='binary')
Run Code Online (Sandbox Code Playgroud)

我不断收到此错误:

[WinError 3] 系统找不到指定的路径:'dataset/training_set'

我已经以各种方式确认这条路径是正确的,但它仍然会引发错误。请帮忙。

python spyder deep-learning conv-neural-network keras

0
推荐指数
1
解决办法
1676
查看次数

对 FC 层以外的 MXNet 进行微调

我是 MXNet 的新手,我想知道是否有人知道如何微调 CNN 中的更多层,而不仅仅是 FC 层。我看到的所有示例都只在 FC 层上进行了微调。在 Keras 中,这可以轻松完成,并且可以微调除 FC 块以外的更多 ConvNet 块:https : //github.com/Hvass-Labs/TensorFlow-Tutorials/blob/master/10_Fine-Tuning.ipynb

预训练网络

如果我们只想微调 FC 块,我们将所有层的可训练性设置为 false: layer.trainable = False

微调 FC 层

如果我们想要微调除 FC 层以外的更多 ConnNet 块,我们将这些层的 layer.trainable=True 设置为: 在 Keras 中微调 ConvNet 块

我的问题是如何在 MXNet 中做类似的事情

deep-learning conv-neural-network mxnet

0
推荐指数
1
解决办法
908
查看次数

卷积神经网络中的核和权重

我见过使用内核和权重的 CNN 代码内核和权重有什么区别?

python machine-learning deep-learning conv-neural-network tensorflow

0
推荐指数
1
解决办法
2329
查看次数

Keras Conv2D 自定义内核初始化

我需要用权重初始化自定义 Conv2D 内核

W = a1b1 + a2b2 + ... + anbn

其中 W = 要初始化的 Conv2D 层的自定义权重

a = 随机权重张量 as keras.backend.variable(np.random.uniform()), shape=(64, 1, 10)

b = 固定基础滤波器定义为keras.backend.constant(...), shape=(10, 11, 11)

W = K.sum(a[:, :, :, None, None] * b[None, None, :, :, :], axis=2) #shape=(64, 1, 11, 11)

我希望我的模型更新“W”值,只更改“a”,同时保持“b”不变。

我通过自定义 'W' 作为

Conv2D(64, kernel_size=(11, 11), activation='relu', kernel_initializer=kernel_init_L1)(img)

其中kernel_init_L1收益keras.backend.variable(K.reshape(w_L1, (11, 11, 1, 64)))

Problem: 我不确定这是否是正确的方法。是否可以在 Keras 中指定哪些是trainable哪些不是。我知道可以设置图层, trainable = True但我不确定权重。 …

python conv-neural-network keras

0
推荐指数
1
解决办法
5397
查看次数

如何在我们自己的模型上进行迁移学习?

我正在尝试在我的 CNN 模型上应用转移学习,但出现以下错误。

model = model1(weights = "model1_weights", include_top=False)
Run Code Online (Sandbox Code Playgroud)

----

TypeError: __call__() takes exactly 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

谢谢

python-3.x conv-neural-network keras transfer-learning

0
推荐指数
1
解决办法
4660
查看次数

为什么有些图像的三维尺寸为3,而另一些三维尺寸为4?

我对图像处理知识不多。我正在尝试实现一个ConvNet。我下载了一些图像作为数据集,并使其高度和宽度相等。然后我尝试通过以下代码将它们加载到np.array中:

train_list = glob.glob('A:\Code\Machine 
Learning\CNN\ConvolutionalNN1\TrainImg\*.jpg')
X_train_orig = np.array([np.array(Image.open(file)) for file in train_list])
Run Code Online (Sandbox Code Playgroud)

但这给了我无法广播(420,310)到(420,310,3)的错误。然后我打印了数组的形状,其中一些是(420,310,3),其他是(410,320,4)。为什么会这样呢?以及如何更改它以使其适合数组?

python image-processing conv-neural-network

0
推荐指数
1
解决办法
1391
查看次数

如何将RNN与CNN结合?

我正在尝试将 LSTM 与 CNN 结合使用,但由于错误而卡住了。这是我试图实现的模型:

model=Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(28, 28,3), activation='relu'))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(32, activation='relu'))
model.add(LSTM(128, return_sequences=True,input_shape=(1,32), activation='relu'))
model.add(LSTM(256))
model.add(Dropout(0.25))
model.add(Dense(37))
model.compile(loss='categorical_crossentropy', optimizer='adam')
Run Code Online (Sandbox Code Playgroud)

错误发生在第一个 LSTM 层:

ERROR: Input 0 is incompatible with layer lstm_12: expected ndim=3, found ndim=2
Run Code Online (Sandbox Code Playgroud)

python deep-learning conv-neural-network lstm keras

0
推荐指数
1
解决办法
1162
查看次数