def setup(self,bottom,top):
#self.top_names = ['data_a', 'data_p', 'data_n', 'data_l']
self.top_names = ['data_a', 'data_p', 'label_a', 'label_p']
params = eval(self.param_str)
# Check the paramameters for validity.
check_params(params)
# store input as class variables
self.batch_loader = BatchLoader(params)
self.batch_size = params['batch_size']
#1
self.pool = ThreadPool(processes=1)
self.thread_results = self.pool.apply_async(\
self.batch_loader.load_next_batch, ())
# reshape
top[0].reshape(params['batch_size'], 1, params['shape'][0], params['shape'][1])
top[1].reshape(2*params['batch_size'], 1, params['shape'][0], params['shape'][1])
top[2].reshape(params['batch_size'], 1) #label of anchor
top[3].reshape(2*params['batch_size'], 1) #label of pos and neg
if 'verbose' not in params:
print_info('Triplet data layer',params)
评论列表
文章目录