示例#1
0
# clf_np.fit(PX_F + PX_U + PX_L + NX, PY_F + PY_U + PY_L + NY)
# import pickle
# clfn = '/Users/ruhansa/Desktop/train/clfs/clf' + clf_num + 'np.pkl'
# pickle.dump(clf_np, open( clfn, "wb" ))

"""
###############################
for half calssifiers
###############################
"""

print "=================hog generation for half-positives================="
train_pos = '/Users/ruhansa/Desktop/train/half_positive'
train_neg ='/Users/ruhansa/Desktop/train/half_negative'
print "=================half positives================="
PX, PY = generate_hog_subfolders(train_pos , 1)
report.write("half positive  sample#: " + str(len(PX)))
print "=================half negative================="
NX, NY = generate_hog_subfolders(train_neg, 0)
report.write("half negative  sample#: " + str(len(NY)))
print "=================training SVM (half - negative/positive)================="
from sklearn import svm
# clf_hnp = svm.SVC()
clf_hnp = svm.LinearSVC()
clf_hnp.fit(PX + NX, PY + NY)
import pickle
clfn = '/Users/ruhansa/Desktop/train/clfs/clf' + clf_num + 'hnp.pkl'
pickle.dump(clf_hnp, open( clfn, "wb" ))

"""
###############################
# print "=================half_positive================="
# generate_canny_subfolders(train_pos , pos_canny_out)
#
# print "=================half_negative================="
# generate_canny_subfolders(train_neg , neg_canny_out)

"""
###############################
training calssifiers
###############################
"""
report.write("============start: " + datetime.datetime.now().strftime("%Y%m%d%H%M") + "============\n")
report.write("clfn: " + clf_num + "\n")
from src.utils.training import generate_hog_subfolders

PX, PY = generate_hog_subfolders(pos_canny_out, 1)
report.write("positive, sample#: " + str(len(PY)) + "\n")
NX, NY = generate_hog_subfolders(neg_canny_out, 0)
report.write("negative  sample#: " + str(len(NY)) + "\n")

from sklearn import svm

clf = svm.LinearSVC()
clf.fit(PX + NX, PY + NY)
import pickle

clfn = "/Users/ruhansa/Desktop/train/clfs/clf" + clf_num + ".pkl"
# print clfn
pickle.dump(clf, open(clfn, "wb"))