我正在尝试训练一个分类器来识别图像中标签上的不同形状(圆形、矩形和空白 – 下面有示例),我认为scikit-neuralnetwork可能会有所帮助,因为我在使用SVM时没有取得太大成功。我在他们的网站上找到了文档,但对于用于训练网络的数据格式不太确定。
from sknn.mlp import Classifier, Convolution, Layernn = Classifier( layers=[ Convolution("Rectifier", channels=8, kernel_shape=(3,3)), Layer("Softmax")], learning_rate=0.02, n_iter=5)nn.fit(X_train, y_train)
我的灰度图像是24*24像素的,那么我可以使用由这些矩阵组成的NumPy数组(”X_train”)吗?这样我就不必将每张图像展平成一行来形成我的训练矩阵,并且不会丢失所有的形状信息(这是我在训练SVM、LDA、PCA等时发生的情况)。
回答:
无需展平数据。只需提供一个矩阵数组。在你的情况下,X_train.shape
将是 (NUM_OF_EXAMPLES, 24, 24)。请查看数字示例。