2013-05-27 08:44:00 +08:00
|
|
|
#!/usr/bin/python
|
|
|
|
#
|
2013-05-27 02:21:02 +08:00
|
|
|
# You need to compile the dlib python interface before you can use this
|
|
|
|
# file. To do this, run compile_dlib_python_module.bat. You also need to
|
|
|
|
# have the boost-python library installed. On Ubuntu, this can be done easily by running
|
|
|
|
# the command: sudo apt-get install libboost-python-dev
|
|
|
|
|
|
|
|
# asfd
|
|
|
|
import dlib
|
|
|
|
|
|
|
|
use_sparse_vects = False
|
|
|
|
|
|
|
|
if use_sparse_vects:
|
|
|
|
samples = dlib.sparse_vectorss()
|
|
|
|
else:
|
|
|
|
samples = dlib.vectorss()
|
|
|
|
|
|
|
|
segments = dlib.rangess()
|
|
|
|
|
|
|
|
if use_sparse_vects:
|
|
|
|
inside = dlib.sparse_vector()
|
|
|
|
outside = dlib.sparse_vector()
|
|
|
|
inside.append(dlib.pair(0,1))
|
|
|
|
outside.append(dlib.pair(1,1))
|
|
|
|
else:
|
|
|
|
inside = dlib.vector([0, 1])
|
|
|
|
outside = dlib.vector([1, 0])
|
|
|
|
|
|
|
|
samples.resize(2)
|
|
|
|
segments.resize(2)
|
|
|
|
|
|
|
|
samples[0].append(outside)
|
|
|
|
samples[0].append(outside)
|
|
|
|
samples[0].append(inside)
|
|
|
|
samples[0].append(inside)
|
|
|
|
samples[0].append(inside)
|
|
|
|
samples[0].append(outside)
|
|
|
|
samples[0].append(outside)
|
|
|
|
samples[0].append(outside)
|
|
|
|
segments[0]
|
|
|
|
segments[0].append(dlib.range(2,5))
|
|
|
|
|
|
|
|
|
|
|
|
samples[1].append(outside)
|
|
|
|
samples[1].append(outside)
|
|
|
|
samples[1].append(inside)
|
|
|
|
samples[1].append(inside)
|
|
|
|
samples[1].append(inside)
|
|
|
|
samples[1].append(inside)
|
|
|
|
samples[1].append(outside)
|
|
|
|
samples[1].append(outside)
|
|
|
|
segments[1].append(dlib.range(2,6))
|
|
|
|
|
|
|
|
|
|
|
|
params = dlib.segmenter_params()
|
|
|
|
#params.be_verbose = True
|
|
|
|
params.window_size = 1
|
|
|
|
params.use_high_order_features = False
|
|
|
|
params.C = 1
|
|
|
|
print "params:", params
|
|
|
|
|
|
|
|
df = dlib.train_sequence_segmenter(samples, segments, params)
|
|
|
|
|
|
|
|
print len(df.segment_sequence(samples[0]))
|
|
|
|
print df.segment_sequence(samples[0])[0]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print df.weights
|
|
|
|
|
|
|
|
#res = dlib.test_sequence_segmenter(df, samples, segments)
|
|
|
|
res = dlib.cross_validate_sequence_segmenter(samples, segments, 2, params)
|
|
|
|
|
|
|
|
print res
|
|
|
|
|