# init
caffe.set_device(2)
caffe.set_mode_gpu()
# caffe.set_mode_cpu()

solver = caffe.SGDSolver(cfgs.solver_pt)
if weights is not None:
    solver.net.copy_from(weights)

for iter in range(500*2000):
    if debug:
        if iter % 100 == 0 and iter !=0:
            nethelper=NetHelper(solver.net)
            # nethelper.hist('data')
            # nethelper.hist('label')
            nethelper.hist('prob', filters=2,attr="blob")

            if False:
                for i in range(nethelper.net.blobs['data1'].data.shape[0]):
                    plt.subplot(221)
                    plt.imshow(nethelper.net.blobs['data1'].data[i,0])
                    plt.subplot(222)
                    plt.imshow(nethelper.net.blobs['prob'].data[i,0])
                    plt.subplot(223)
                    plt.imshow(nethelper.net.blobs['label'].data[i,0])
                    plt.show()
                
            

            # TODO: label has float
            # nethelper.value_counts('label')