如何将.csv训练数据输入mxnet中的卷积神经网络?

2024-05-23 15:26:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近在Windows10和Python3.5上安装了支持GPU的mxnet(python包)。我看了几个例子,它们看起来很好用。在

我已经习惯了scikit学习风格的机器学习包,并且对Python深度学习包(如Mxnet)非常陌生,尽管我已经在R中使用过Mxnet。我很难理解如何将.csv培训数据提供给模型。在

我想给一个简单的CNN一些图片。这些图像是28x28像素,以扁平数组的形式存储在.csv中。我有两个.csv文件,一个用于培训,另一个用于测试。每个.csv文件具有以下结构:

label, pixel1, pixel2, ..., pixel784
0,...
1,...

训练集/测试集共有10个标签,大约1000/300个图像。在

我使用以下代码加载数据并训练模型:

^{pr2}$

但是,我在使用gpr的时候,我不能使用下面的方法来获得更好的性能

[16:54:11] D:\chhong\mxnet\dmlc-core\include\dmlc/logging.h:235: [16:54:11] d:\chhong\mxnet\src\operator\./convolution-inl.h:347: Check failed: ksize_x <= dshape[3] && ksize_y <= dshape[2] kernel size exceed input
Traceback (most recent call last):
  File "C:\Users\Me\Desktop\esempio_lenet.py", line 57, in <module>
    num_epoch = 30)
  File "C:\Users\Me\Anaconda3\lib\site-packages\mxnet-0.7.0-py3.5.egg\mxnet\model.py", line 901, in create
    eval_batch_end_callback=eval_batch_end_callback)
  File "C:\Users\Me\Anaconda3\lib\site-packages\mxnet-0.7.0-py3.5.egg\mxnet\model.py", line 745, in fit
    self._init_params(dict(data.provide_data+data.provide_label))
  File "C:\Users\Me\Anaconda3\lib\site-packages\mxnet-0.7.0-py3.5.egg\mxnet\model.py", line 485, in _init_params
    arg_shapes, _, aux_shapes = self.symbol.infer_shape(**input_shapes)
  File "C:\Users\Me\Anaconda3\lib\site-packages\mxnet-0.7.0-py3.5.egg\mxnet\symbol.py", line 453, in infer_shape
    return self._infer_shape_impl(False, *args, **kwargs)
  File "C:\Users\Me\Anaconda3\lib\site-packages\mxnet-0.7.0-py3.5.egg\mxnet\symbol.py", line 513, in _infer_shape_impl
    ctypes.byref(complete)))
  File "C:\Users\Me\Anaconda3\lib\site-packages\mxnet-0.7.0-py3.5.egg\mxnet\base.py", line 77, in check_call
    raise MXNetError(py_str(_LIB.MXGetLastError()))
mxnet.base.MXNetError: InferShape Error in convolution0: [16:54:11] d:\chhong\mxnet\src\operator\./convolution-inl.h:347: Check failed: ksize_x <= dshape[3] && ksize_y <= dshape[2] kernel size exceed input

我不知道我做错了什么。有人能告诉我这个错误是关于什么的,并给我一套清晰的说明,如何加载与上述结构相同的.csv文件,并训练一个mxnet模型?我看了一下文档,但是我自己却不知道如何正确地加载.csv文件。。。在

我之所以要求一个加载这样的.csv文件的过程是因为我主要处理的是那种格式的数据,并且能够对包含这些.csv文件的文件夹运行一个脚本,并准备好用于训练深度卷积神经网络,这对我来说是非常有价值的。在

一组train和test.csv文件是可用的here,如果您需要它们来重现我编写的示例代码。在

谢谢你


Tags: 文件csvinpyegglibpackagesline
1条回答
网友
1楼 · 发布于 2024-05-23 15:26:22

问题在于:

X_train = X_train.reshape((1200,28,28,1))

在mxnet中,第二维度是特征地图,而第三维度和第四维度是宽度和高度,因此它应该是:

^{pr2}$

相关问题 更多 >