shanren7/real_time_face_recognition

Error while running Train your Classifier Code

Aarijit opened this issue · 0 comments

Hi,

Thanks for creating such a great post. While following your code, I'm getting an error, which I could not resolve. The error is coming from this portion of the code:

#建立人脸检测模型,加载参数
print('Creating networks and loading parameters')
gpu_memory_fraction=1.0
with tf.Graph().as_default():
    gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=gpu_memory_fraction)
    sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options, log_device_placement=False))
    with sess.as_default():
        pnet, rnet, onet = detect_face.create_mtcnn(sess, './model_check_point/')

The error is the following:

Traceback (most recent call last):
File "/home/ragas/anaconda3/envs/DNN/lib/python3.6/site-packages/numpy/lib/format.py", line 640, in read_array
array = pickle.load(fp, **pickle_kwargs)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc0 in position 2: ordinal not in range(128)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "faceRecognition_training.py", line 44, in <module>
    pnet, rnet, onet = detect_face.create_mtcnn(sess, './model_check_point/')
  File "/home/ragas/Documents/DNN/Face_recognition/real_time_face_recognition/detect_face.py", line 278, in create_mtcnn
    pnet.load(os.path.join(model_path, 'det1.npy'), sess)
  File "/home/ragas/Documents/DNN/Face_recognition/real_time_face_recognition/detect_face.py", line 84, in load
    data_dict = np.load(data_path).item() #pylint: disable=no-member
  File "/home/ragas/anaconda3/envs/DNN/lib/python3.6/site-packages/numpy/lib/npyio.py", line 419, in load
    pickle_kwargs=pickle_kwargs)
  File "/home/ragas/anaconda3/envs/DNN/lib/python3.6/site-packages/numpy/lib/format.py", line 646, in read_array
    "to numpy.load" % (err,))
UnicodeError: Unpickling a python object failed: UnicodeDecodeError('ascii', b'IW\xc0\xbbX\x1d\x7f<\x7f\xf0\xa3;5:\x81\xbb\x9b\x06>;L\x8d\x0c=j$%\xbb\xf4[\x9a\xbcq\xa7k\xbc\xe2#&\xbc\xa8W\x04;O\xa6\xd7;\xa1\x9c\xc8\xbb\xd1+\x17\xbc\xa1Y\x00\xba\x80\x9e3;U\x07\r\xbc\xf6\xeaJ>m\x897\xbd\x11\xd2D\xbd \xf2\x1b;\x1f\xb7f\xbal\xc92\xbcU\xac\xc9;\xd5\x97\x9f\xbb\xb6\xec(;a\xc5\x1f\xbd\x8d\xbd"\xbe4$\x81;\x07\x7f\xe7;5L\xa7; \x07\xf7<\x96\xa0\r\xbcR\x11\x1b<+8\xa6;"<\xf8\xbb5\x03M:\x07\xe5\xea:\x9drb\xbd\x16p&=W\x9f\xc4\xbb\x06\xc1\x89\xbc\xd2\x17\x82\xbbf\xc22<\xae\x9f1:\xed\x10\x9b=\xfc\xb9K9\xbe\xff\xe6;"\x90\xc9\xbb\x11\xd0D>6\xf1\x01\xbeS\xefx\xbcz \xb9;\xe7<\x8e\xbb\xb2\xc7\xa3\xbc\x8cH\x1b<\nT\x81\xbbO\xb8\xfd;w\xc9\xc0\xbd\xe0\x89\xbb=Vw\x84;N\x03\x96;<sJ;Z\xaf\xbd\xbc\xfa\x02\x97;\x95}\x97<\x0fR\x12\xbc\xe3:$<k\xea\x86;\xfeo\xe3;\xb1\xbf\x0e<yG\xcb\xbd\x9cEm<*\xe3\x8f;\x04\x1a\x87<\xabe\xb7\xbb\xfb\xef\xa3;(\x87\x1f<\x91Y\xae:\x84\xbb\xb1:v\xa6\x1a<\xbe\xf5\x91=Zu\x0b>\x02i\x94\xbb\xe8\xde\xa2\xbb!\xcb\r;pd\x04<\xa9\xd3\x8e\xbbX7\x8f;\x9b&\xc3<o\x9e\x0f\xbe\x9b\xb2_\xbd\xa6t\xb1\xbaV\x1b\x84\xbb\x86\x95\x9a\xba%#@=\x87\xf0\xc2;\xc5\r\x7f<\xa3\xdd\x00\xbc\xf8\x8f\x14<*\xe5\x19;E\n\x0f\xbd\xfc\x0b:\xbd\xaeW \xbd\xf4)!=\x1a0\xbf\xb8D\x9f\x9e<\xb5\x80A\xbc\xb9I\x1b<\xd5:\xf1=\xe1\x01\xb9:\xae\x1d\xae;\xc3g\xc9;\xa4\\m\xbd!*H\xbd\x83\x91\xd0<Wa\xef\xbb\xc9\x8d\x08<\x11\x12\xb2;\xa9~\xc3\xbbY\x8d1<\xd9X\xb3<&R\x06\xbe\xb7\xbc >xZT;\x89\xa8\xed\xbbEL\x88\xbb4k\x97<', 2, 3, 'ordinal not in range(128)')
You may need to pass the encoding= option to numpy.load

After Googling, it's saying because of format issue in numpy loading. But if I add encoding='latin1' in load part, it's not solving the issue.

I'm using Ubuntu 16.06 ls, python 3.6 and tf 1.3.

Could you please guide me why this error is coming?

Thanks!