ocrbook/ocrinaction

第三章身份证号码识别SVM中train_main()代码段无法调试通过

zblfly opened this issue · 0 comments

第一次运行报错:
Traceback (most recent call last):
File "C:/Users/ASUS/Desktop/ocrinaction-master/ocrinaction-master/chapter-3/3.3/code/svm_idcard_main.py", line 119, in
linearsvc_clf = train_main()
File "C:/Users/ASUS/Desktop/ocrinaction-master/ocrinaction-master/chapter-3/3.3/code/svm_idcard_main.py", line 93, in train_main
linearsvc_clf.fit(train_X, train_y)
File "C:\Users\ASUS\Anaconda3\lib\site-packages\sklearn\svm\classes.py", line 227, in fit
dtype=np.float64, order="C")
File "C:\Users\ASUS\Anaconda3\lib\site-packages\sklearn\utils\validation.py", line 573, in check_X_y
ensure_min_features, warn_on_dtype, estimator)
File "C:\Users\ASUS\Anaconda3\lib\site-packages\sklearn\utils\validation.py", line 441, in check_array
"if it contains a single sample.".format(array))
ValueError: Expected 2D array, got 1D array instead:
array=[ 0. 765. 1016. ... 0. 0. 0.].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

进程已结束,退出代码为 1

按要求给train_X添加reshape后又报错:
Traceback (most recent call last):
File "C:/Users/ASUS/Desktop/ocrinaction-master/ocrinaction-master/chapter-3/3.3/code/svm_idcard_main.py", line 119, in
linearsvc_clf = train_main()
File "C:/Users/ASUS/Desktop/ocrinaction-master/ocrinaction-master/chapter-3/3.3/code/svm_idcard_main.py", line 93, in train_main
linearsvc_clf.fit(train_X.reshape(-1,1), train_y)
File "C:\Users\ASUS\Anaconda3\lib\site-packages\sklearn\svm\classes.py", line 227, in fit
dtype=np.float64, order="C")
File "C:\Users\ASUS\Anaconda3\lib\site-packages\sklearn\utils\validation.py", line 583, in check_X_y
check_consistent_length(X, y)
File "C:\Users\ASUS\Anaconda3\lib\site-packages\sklearn\utils\validation.py", line 204, in check_consistent_length
" samples: %r" % [int(l) for l in lengths])
ValueError: Found input variables with inconsistent numbers of samples: [66752, 1043]

进程已结束,退出代码为 1
百度后看了很多方法,进行了很多修改,但仍无法解决,还请各位老师帮帮看一看。