将 Conv2D 用于图像有什么问题?

narges66

首先,我从文件夹和子文件夹中读取图片。然后我将图像更改为灰色并调整为 100*200。我想将我的图像分类为 6 类。当我想创建我的模型时,我不能使用 Conv2D,因为我有尺寸错误,但是当我使用 Conv1D 时,我没有任何错误并且神经网络工作正常。我想使用 conv2D 因为我的数据是图像。我的问题是什么?

#load train_images
path_spec_train = "/home/narges/dataset/train_24/"
spec_train = glob.glob(path_spec_train + "**/*.png") 
spec_train.sort()

X_modify = []
width = 200
height = 100
for spec in spec_train:
    specs = cv2.imread(spec)
    specs = cv2.cvtColor(specs,cv2.COLOR_BGR2GRAY)
    specs = cv2.resize(specs ,(width, height))
    specs = specs / np.max(specs)
    specs = specs.astype(np.float32)
    X_modify.append(specs)

X_train = np.asarray(X_modify,dtype=np.float32)

#=======================================================
#load test_image

path_spec_test = "/home/narges/dataset/test_24/"
spec_test = glob.glob(path_spec_test + "**/*.png") 
spec_test.sort()

X_modify_t = []
width = 200
height = 100
for spec_t in spec_test:
    specs_test = cv2.imread(spec_t)
    specs_test = cv2.cvtColor(specs_test,cv2.COLOR_BGR2GRAY)
    specs_test = cv2.resize(specs_test ,(width, height))
    specs_test = specs_test / np.max(specs_test)
    specs_test = specs_test.astype(np.float32)
    X_modify_t.append(specs_test)

X_test = np.asarray(X_modify_t,dtype=np.float32)
#======================================================================
#label

spk_ID = [wavs[i].split('/')[-1].lower() for i in range(number_of_files)]

spk_ID_t = [wavs_t[i].split('/')[-1].lower() for i in range(number_of_files_t)]

label_no = [spk_ID[i].split('_')[-2] for i in range(number_of_files)]

Y_train = np_utils.to_categorical(label_no)

label_no_t = [spk_ID_t[i].split('_')[-2] for i in range(number_of_files_t)]

Y_test = np_utils.to_categorical(label_no_t)


#======================================================================
# Create my model
myinput = layers.Input(shape=(100,200))
conv1 = layers.Conv1D(32, 3, activation='relu', padding='same', strides=2)(myinput)
conv2 = layers.Conv1D(64, 3, activation='relu', padding='same', strides=2)(conv1)
flat = layers.Flatten()(conv2)
out_layer = layers.Dense(6, activation='softmax')(flat)
mymodel = Model(myinput, out_layer)
mymodel.summary()

mymodel.compile(optimizer=keras.optimizers.Adam(), loss=keras.losses.categorical_crossentropy, metrics=['accuracy'])

network_history = mymodel.fit(X_train, Y_train, batch_size=128, epochs=100)

pred = np.round(mymodel.predict(X_test))
print(classification_report(Y_test, pred))
史努比博士

您需要将通道维度添加到您的输入训练数据中:

import numpy as np

X_train = np.expand_dims(X_train, axis=3)
X_test = np.expand_Dims(X_test, axis=3)

那么你的数据会是4D的,比如(3312, 100, 200, 1),就是灰度图(一个通道)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Keras Conv2D和LSTM的尺寸问题

来自分类Dev

为什么theano conv2d添加空尺寸?

来自分类Dev

tensorflow中conv2d的顺序输出是什么?

来自分类Dev

检查目标时出错:将FC层转换为Conv2D

来自分类Dev

as_strided:将步长(conv2d 的步幅)与 as_strided 步幅参数联系起来

来自分类Dev

为什么`DepthwiseConv2D`要比`Conv2D`慢

来自分类Dev

从conv2d模型推测说图像也必须是4d

来自分类Dev

小图像分类任务的Conv2d层数和滤镜

来自分类Dev

如何在多个图像输入中使用Conv2D?

来自分类Dev

在 tensorflow Keras 中将图像拟合到 Conv2D 层时出错

来自分类Dev

Conv2D CNN 边缘检测脚本返回空白图像

来自分类Dev

为什么我需要将输入数据重塑为Conv2D的附加尺寸?

来自分类Dev

Keras:为什么Conv2D图层的输出大小与要素图的预期形状不匹配?

来自分类Dev

conv2d是否使用随机过滤器?这样对NN有好处吗?

来自分类Dev

具有padding ='SAME'的Tensorflow / Keras Conv2D层的行为异常

来自分类Dev

我可以将Conv2D和LeakyReLU合并到一个图层中吗?

来自分类Dev

为什么Conv2D在每一层中都有不同数量的过滤器

来自分类Dev

为什么带有10x10x3的单个Conv2d占用850mb gpu

来自分类Dev

什么时候以及为什么使用Conv2D时kernel_size可能是1或2暗?

来自分类Dev

在 Keras Sequential 模型中,Conv2D 似乎要求内核比前一层厚更窄。为什么?

来自分类Dev

在 keras 中附加上一层?- Conv2D' 对象没有属性 'is_placeholder'

来自分类Dev

第2行有什么问题?

来自分类Dev

fileOpener2有什么问题?

来自分类Dev

Theano:什么时候引入了conv2d的filter_flip参数?(TypeError:__init __()获得了意外的关键字参数“ filter_flip”)

来自分类Dev

我可以使用现有的操作(例如conv2d和张量操作)在python中的tensorflow中编写自定义层吗?

来自分类Dev

Keras:过度拟合的Conv2D

来自分类Dev

针对列表运行conv2d

来自分类Dev

pytorch conv2d配重

来自分类Dev

我正在尝试使用 android studio 将图像上传到 firebase 但它不起作用,我的代码有什么问题?

Related 相关文章

  1. 1

    Keras Conv2D和LSTM的尺寸问题

  2. 2

    为什么theano conv2d添加空尺寸?

  3. 3

    tensorflow中conv2d的顺序输出是什么?

  4. 4

    检查目标时出错:将FC层转换为Conv2D

  5. 5

    as_strided:将步长(conv2d 的步幅)与 as_strided 步幅参数联系起来

  6. 6

    为什么`DepthwiseConv2D`要比`Conv2D`慢

  7. 7

    从conv2d模型推测说图像也必须是4d

  8. 8

    小图像分类任务的Conv2d层数和滤镜

  9. 9

    如何在多个图像输入中使用Conv2D?

  10. 10

    在 tensorflow Keras 中将图像拟合到 Conv2D 层时出错

  11. 11

    Conv2D CNN 边缘检测脚本返回空白图像

  12. 12

    为什么我需要将输入数据重塑为Conv2D的附加尺寸?

  13. 13

    Keras:为什么Conv2D图层的输出大小与要素图的预期形状不匹配?

  14. 14

    conv2d是否使用随机过滤器?这样对NN有好处吗?

  15. 15

    具有padding ='SAME'的Tensorflow / Keras Conv2D层的行为异常

  16. 16

    我可以将Conv2D和LeakyReLU合并到一个图层中吗?

  17. 17

    为什么Conv2D在每一层中都有不同数量的过滤器

  18. 18

    为什么带有10x10x3的单个Conv2d占用850mb gpu

  19. 19

    什么时候以及为什么使用Conv2D时kernel_size可能是1或2暗?

  20. 20

    在 Keras Sequential 模型中,Conv2D 似乎要求内核比前一层厚更窄。为什么?

  21. 21

    在 keras 中附加上一层?- Conv2D' 对象没有属性 'is_placeholder'

  22. 22

    第2行有什么问题?

  23. 23

    fileOpener2有什么问题?

  24. 24

    Theano:什么时候引入了conv2d的filter_flip参数?(TypeError:__init __()获得了意外的关键字参数“ filter_flip”)

  25. 25

    我可以使用现有的操作(例如conv2d和张量操作)在python中的tensorflow中编写自定义层吗?

  26. 26

    Keras:过度拟合的Conv2D

  27. 27

    针对列表运行conv2d

  28. 28

    pytorch conv2d配重

  29. 29

    我正在尝试使用 android studio 将图像上传到 firebase 但它不起作用,我的代码有什么问题?

热门标签

归档