我正在尝试使用我自己的一组图像来实现具有单个隐藏层的神经网络,但是当我运行代码时出现此错误;
Traceback (most recent call last):
File "mnist_tf.py", line 128, in <module>
test_x, test_y = get_test(M)
File "mnist_tf.py", line 61, in get_test
batch_xs = np.vstack((batch_xs, ((array(M[test_k[k]])[:])/255.) ))
File "/home/user/tensorflow/local/lib/python2.7/site-packages/numpy/core/shape_base.py", line 288, in hstack
return _nx.concatenate(arrs, 1)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
我的图像数据(mat文件)包含以下格式;
有10个培训和测试集
train0 70x784 uint8
test0 26x784 uint8
train1 70x784 uint8
test1 55x784 uint8
train2 70x784 uint8
test2 8x784 uint8
...
我正在使用的代码可以在here中找到。我改变的只是输入文件,我将我的图像数据集作为mat文件而不是&#39; mnist_all.mat&#39;。错误发生在get_test()函数的第61行;
batch_xs = np.vstack((batch_xs, ((array(M[test_k[k]])[:])/255.) ))
我不太明白这部分正在做什么'((array(M[test_k[k]])[:])/255.)'
。我知道有关阵列维度的连接问题,但我无法解决它。
非常感谢任何帮助
提前致谢。
编辑1: 这是我的数据集;
('M[test0] = ', array([[ array([[180, 111, 108, ..., 128, 149, 147],
[249, 160, 192, ..., 88, 119, 185],
[166, 164, 60, ..., 28, 73, 59],
...,
[ 5, 8, 4, ..., 82, 101, 123],
[ 14, 14, 14, ..., 166, 166, 170],
[ 62, 42, 73, ..., 3, 6, 25]], dtype=uint8)]], dtype=object))
这是mnist_all数据集;
('M[test0] = ', array([[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]], dtype=uint8))