我正在尝试运行一个项目,该项目有时试图使用easydict
作为参数传递pickle
。
类似的东西:
self._cfg = pickle.loads(cfg)
其中cfg
的值:
'b\'\\x80\\x03ceasydict\\nEasyDict\\nq\\x00)\\x81q\\x01(X\\x06\\x00\\x00\\x00SCALESq\\x02]q\\x03M\\x90\\x01MX\\x02\\x86q\\x04aX\\x07\\x00\\x00\\x00datasetq\\x05h\\x00)\\x81q\\x06(X\\x0f\\x00\\x00\\x00motion_iou_pathq\\x07X5\\x00\\x00\\x00./lib/dataset/imagenet_vid_groundtruth_motion_iou.matq\\x08h\\x05X\\x0b\\x00\\x00\\x00ImageNetVIDq\\tX\\t\\x00\\x00\\x00root_pathq\\nX\\x06\\x00\\x00\\x00./dataq\\x0bX\\x0c\\x00\\x00\\x00dataset_pathq\\x0cX\\x11\\x00\\x00\\x00./data/ILSVRC2015q\\rX\\x0b\\x00\\x00\\x00NUM_CLASSESq\\x0eK\\x1fX\\x14\\x00\\x00\\x00enable_detailed_evalq\\x0f\\x88X\\t\\x00\\x00\\x00image_setq\\x10X&\\x00\\x00\\x00DET_train_30classes+VID_train_15framesq\\x11X\\x0e\\x00\\x00\\x00test_image_setq\\x12X\\x0e\\x00\\x00\\x00VID_val_videosq\\x13X\\x08\\x00\\x00\\x00proposalq\\x14X\\x03\\x00\\x00\\x00rpnq\\x15u}q\\x16(h\\x07h\\x08h\\x05h\\th\\nh\\x0bh\\x0ch\\rh\\x0eK\\x1fh\\x0f\\x88h\\x10h\\x11h\\x12h\\x13h\\x14h\\x15ubX\\x0e\\x00\\x00\\x00CLASS_AGNOSTICq\\x17\\x88X\\x06\\x00\\x00\\x00symbolq\\x18X\\x1a\\x00\\x00\\x00resnet_v1_101_flownet_rfcnq\\x19X\\r\\x00\\x00\\x00MXNET_VERSIONq\\x1aX\\x00\\x00\\x00\\x00q\\x1bX\\x04\\x00\\x00\\x00gpusq\\x1cX\\x07\\x00\\x00\\x000,1,2,3q\\x1dX\\x04\\x00\\x00\\x00TESTq\\x1eh\\x00)\\x81q\\x1f(X\\x0e\\x00\\x00\\x00RPN_NMS_THRESHq G?\\xe6ffffffX\\x03\\x00\\x00\\x00NMSq!G?\\xd3333333X\\x0c\\x00\\x00\\x00BATCH_IMAGESq"K\\x01X\\n\\x00\\x00\\x00test_epochq#K\\x02X\\x0c\\x00\\x00\\x00RPN_MIN_SIZEq$K\\x00X\\x07\\x00\\x00\\x00HAS_RPNq%\\x88X\\x07\\x00\\x00\\x00SEQ_NMSq&\\x89X\\r\\x00\\x00\\x00max_per_imageq\\\'M,\\x01X\\x11\\x00\\x00\\x00RPN_PRE_NMS_TOP_Nq(Mp\\x17X\\x12\\x00\\x00\\x00RPN_POST_NMS_TOP_Nq)M,\\x01X\\x0c\\x00\\x00\\x00CXX_PROPOSALq*\\x88X\\x12\\x00\\x00\\x00KEY_FRAME_INTERVALq+K\\tu}q,(h G?\\xe6ffffffh!G?\\xd3333333h"K\\x01h#K\\x02h$K\\x00h%\\x88h&\\x89h\\\'M,\\x01h(Mp\\x17h)M,\\x01h*\\x88h+K\\tubX\\x05\\x00\\x00\\x00TRAINq-h\\x00)\\x81q.(X\\x14\\x00\\x00\\x00RPN_POSITIVE_OVERLAPq/G?\\xe6ffffffX\\x0b\\x00\\x00\\x00FG_FRACTIONq0G?\\xd0\\x00\\x00\\x00\\x00\\x00\\x00X\\x07\\x00\\x00\\x00END2ENDq1\\x88X\\x15\\x00\\x00\\x00RPN_CLOBBER_POSITIVESq2\\x89X\\n\\x00\\x00\\x00BATCH_ROISq3J\\xff\\xff\\xff\\xffX\\n\\x00\\x00\\x00MAX_OFFSETq4K\\tX\\x0c\\x00\\x00\\x00BG_THRESH_LOq5G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00X\\x14\\x00\\x00\\x00RPN_NEGATIVE_OVERLAPq6G?\\xd3333333X\\x04\\x00\\x00\\x00FLIPq7\\x88X\\x07\\x00\\x00\\x00lr_stepq8X\\x05\\x00\\x00\\x001.333q9X\\x08\\x00\\x00\\x00momentumq:G?\\xec\\xcc\\xcc\\xcc\\xcc\\xcc\\xcdX\\x0b\\x00\\x00\\x00ENABLE_OHEMq;\\x88h)M,\\x01X\\x0e\\x00\\x00\\x00RPN_BATCH_SIZEq<M\\x00\\x01X\\x13\\x00\\x00\\x00RPN_POSITIVE_WEIGHTq=G\\xbf\\xf0\\x00\\x00\\x00\\x00\\x00\\x00X\\t\\x00\\x00\\x00end_epochq>K\\x02X\\t\\x00\\x00\\x00warmup_lrq?K\\x00X\\x02\\x00\\x00\\x00wdq@G?@bM\\xd2\\xf1\\xa9\\xfch$K\\x00X\\x16\\x00\\x00\\x00BBOX_REGRESSION_THRESHqAG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00X\\x06\\x00\\x00\\x00warmupqB\\x89X\\x07\\x00\\x00\\x00SHUFFLEqC\\x88X\\x0b\\x00\\x00\\x00warmup_stepqDK\\x00X\\n\\x00\\x00\\x00BBOX_MEANSqE]qF(G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00eX\\x0f\\x00\\x00\\x00RPN_FG_FRACTIONqGG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00X\\x0f\\x00\\x00\\x00BATCH_ROIS_OHEMqHK\\x80X\\x02\\x00\\x00\\x00lrqIG?0bM\\xd2\\xf1\\xa9\\xfcX\\x06\\x00\\x00\\x00RESUMEqJ\\x89X\\t\\x00\\x00\\x00FG_THRESHqKG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00X\\x0b\\x00\\x00\\x00begin_epochqLK\\x00X\\x0c\\x00\\x00\\x00model_prefixqMX\\r\\x00\\x00\\x00fgfa_rfcn_vidqNX\\t\\x00\\x00\\x00BBOX_STDSqO]qP(G?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xc9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xc9\\x99\\x99\\x99\\x99\\x99\\x9aeX\\x10\\x00\\x00\\x00RPN_BBOX_WEIGHTSqQ]qR(G?\\xf0\\x00\\x00\\x00\\x00\\x00\\x00G?\\xf0\\x00\\x00\\x00\\x00\\x00\\x00G?\\xf0\\x00\\x00\\x00\\x00\\x00\\x00G?\\xf0\\x00\\x00\\x00\\x00\\x00\\x00eX\\t\\x00\\x00\\x00lr_factorqSG?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aX\\x1e\\x00\\x00\\x00BBOX_NORMALIZATION_PRECOMPUTEDqT\\x88h*\\x88X\\x0c\\x00\\x00\\x00BG_THRESH_HIqUG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00X\\x0c\\x00\\x00\\x00BBOX_WEIGHTSqVcnumpy.core.multiarray\\n_reconstruct\\nqWcnumpy\\nndarray\\nqXK\\x00\\x85qYC\\x01bqZ\\x87q[Rq\\\\(K\\x01K\\x04\\x85q]cnumpy\\ndtype\\nq^X\\x02\\x00\\x00\\x00f8q_K\\x00K\\x01\\x87q`Rqa(K\\x03X\\x01\\x00\\x00\\x00<qbNNNJ\\xff\\xff\\xff\\xffJ\\xff\\xff\\xff\\xffK\\x00tqcb\\x89C \\x00\\x00\\x00\\x00\\x00\\x00\\xf0?\\x00\\x00\\x00\\x00\\x00\\x00\\xf0?\\x00\\x00\\x00\\x00\\x00\\x00\\xf0?\\x00\\x00\\x00\\x00\\x00\\x00\\xf0?qdtqebh(Mp\\x17X\\x0f\\x00\\x00\\x00ASPECT_GROUPINGqf\\x88h"K\\x01h G?\\xe6ffffffX\\n\\x00\\x00\\x00MIN_OFFSETqgJ\\xf7\\xff\\xff\\xffu}qh(h/G?\\xe6ffffffh0G?\\xd0\\x00\\x00\\x00\\x00\\x00\\x00h1\\x88h2\\x89h3J\\xff\\xff\\xff\\xffh4K\\th5G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00h6G?\\xd3333333h7\\x88h8h9h:G?\\xec\\xcc\\xcc\\xcc\\xcc\\xcc\\xcdh;\\x88h)M,\\x01h<M\\x00\\x01h=G\\xbf\\xf0\\x00\\x00\\x00\\x00\\x00\\x00h>K\\x02h?K\\x00h@G?@bM\\xd2\\xf1\\xa9\\xfch$K\\x00hAG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00hB\\x89hC\\x88hDK\\x00hEhFhGG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00hHK\\x80hIG?0bM\\xd2\\xf1\\xa9\\xfchJ\\x89hKG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00hLK\\x00hMhNhOhPhQhRhSG?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9ahT\\x88h*\\x88hUG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00hVh\\\\h(Mp\\x17hf\\x88h"K\\x01h G?\\xe6ffffffhgJ\\xf7\\xff\\xff\\xffubX\\x0b\\x00\\x00\\x00output_pathqiX\\x1f\\x00\\x00\\x00./output/fgfa_rfcn/imagenet_vidqjX\\x07\\x00\\x00\\x00defaultqkh\\x00)\\x81ql(X\\x07\\x00\\x00\\x00kvstoreqmX\\x06\\x00\\x00\\x00deviceqnX\\x08\\x00\\x00\\x00frequentqoKdu}qp(hmhnhoKdubX\\x07\\x00\\x00\\x00networkqqh\\x00)\\x81qr(X\\x0b\\x00\\x00\\x00ANCHOR_STDSqs]qt(G?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xd9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xd9\\x99\\x99\\x99\\x99\\x99\\x9aeX\\x0b\\x00\\x00\\x00PIXEL_MEANSquhWhXK\\x00\\x85qvhZ\\x87qwRqx(K\\x01K\\x03\\x85qyha\\x89C\\x18\\xa4p=\\n\\xd7\\xc3Y@\\x9a\\x99\\x99\\x99\\x99\\xf9\\\\@\\x9a\\x99\\x99\\x99\\x99\\xc9^@qztq{bX\\n\\x00\\x00\\x00pretrainedq|X&\\x00\\x00\\x00./model/pretrained_model/resnet_v1_101q}X\\r\\x00\\x00\\x00ANCHOR_SCALESq~]q\\x7f(K\\x08K\\x10K eX\\x0c\\x00\\x00\\x00FIXED_PARAMSq\\x80]q\\x81(X\\x05\\x00\\x00\\x00conv1q\\x82X\\x04\\x00\\x00\\x00res2q\\x83X\\x02\\x00\\x00\\x00bnq\\x84eX\\x10\\x00\\x00\\x00RCNN_FEAT_STRIDEq\\x85K\\x10X\\r\\x00\\x00\\x00NORMALIZE_RPNq\\x86\\x88X\\x0f\\x00\\x00\\x00pretrained_flowq\\x87X \\x00\\x00\\x00./model/pretrained_model/flownetq\\x88X\\x10\\x00\\x00\\x00pretrained_epochq\\x89K\\x00X\\x0c\\x00\\x00\\x00IMAGE_STRIDEq\\x8aK\\x00X\\r\\x00\\x00\\x00ANCHOR_RATIOSq\\x8b]q\\x8c(G?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00K\\x01K\\x02eX\\x0f\\x00\\x00\\x00RPN_FEAT_STRIDEq\\x8dK\\x10X\\r\\x00\\x00\\x00FGFA_FEAT_DIMq\\x8eM\\x00\\x0cX\\x0b\\x00\\x00\\x00NUM_ANCHORSq\\x8fK\\tX\\x0c\\x00\\x00\\x00ANCHOR_MEANSq\\x90]q\\x91(G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00eu}q\\x92(hshthuhxh|h}h~h\\x7fh\\x80h\\x81h\\x85K\\x10h\\x86\\x88h\\x87h\\x88h\\x89K\\x00h\\x8aK\\x00h\\x8bh\\x8ch\\x8dK\\x10h\\x8eM\\x00\\x0ch\\x8fK\\th\\x90h\\x91ubu}q\\x93(h\\x17\\x88h\\x18h\\x19h\\x1ah\\x1bh\\x1eh\\x1fhihjhkhlh\\x02h\\x03h\\x05h\\x06hqhrh\\x1ch\\x1dh-h.ub.\''
我得到的错误是:
TypeError:需要一个类似字节的对象,而不是'str'
看起来我需要一个类似字节的对象,其含义类似于:
b'\x80\x03ceasydict\nEasyDict\nq\x00)\x81q\x01(X\r\x00\x00\x00MXNET_VERSIONq\x02X\x00\x00\x00\x00q\x03X\x0b\x00\x00\x00output_pathq\x04X\x1f\x00\x00\x00./output/fgfa_rfcn/imagenet_vidq\x05X\x06\x00\x00\x00symbolq\x06X\x1a\x00\x00\x00resnet_v1_101_flownet_rfcnq\x07X\x05\x00\x00\x00TRAINq\x08h\x00)\x81q\t(X\x0f\x00\x00\x00BATCH_ROIS_OHEMq\nK\x80X\t\x00\x00\x00lr_factorq\x0bG?\xb9\x99\x99\x99\x99\x99\x9aX\t\x00\x00\x00FG_THRESHq\x0cG?\xe0\x00\x00\x00\x00\x00\x00X\x08\x00\x00\x00momentumq\rG?\xec\xcc\xcc\xcc\xcc\xcc\xcdX\x15\x00\x00\x00RPN_CLOBBER_POSITIVESq\x0e\x89X\x0c\x00\x00\x00model_prefixq\x0fX\r\x00\x00\x00fgfa_rfcn_vidq\x10X\x0b\x00\x00\x00ENABLE_OHEMq\x11\x88X\x04\x00\x00\x00FLIPq\x12\x88X\x07\x00\x00\x00END2ENDq\x13\x88X\x0e\x00\x00\x00RPN_NMS_THRESHq\x14G?\xe6ffffffX\x06\x00\x00\x00warmupq\x15\x89X\x0f\x00\x00\x00ASPECT_GROUPINGq\x16\x88X\x0c\x00\x00\x00BATCH_IMAGESq\x17K\x01X\x16\x00\x00\x00BBOX_REGRESSION_THRESHq\x18G?\xe0\x00\x00\x00\x00\x00\x00X\n\x00\x00\x00MAX_OFFSETq\x19K\tX\x07\x00\x00\x00SHUFFLEq\x1a\x88X\x0b\x00\x00\x00warmup_stepq\x1bK\x00X\x0c\x00\x00\x00CXX_PROPOSALq\x1c\x88X\t\x00\x00\x00warmup_lrq\x1dK\x00X\x10\x00\x00\x00RPN_BBOX_WEIGHTSq\x1e]q\x1f(G?\xf0\x00\x00\x00\x00\x00\x00G?\xf0\x00\x00\x00\x00\x00\x00G?\xf0\x00\x00\x00\x00\x00\x00G?\xf0\x00\x00\x00\x00\x00\x00eX\x14\x00\x00\x00RPN_POSITIVE_OVERLAPq G?\xe6ffffffX\x0c\x00\x00\x00BG_THRESH_HIq!G?\xe0\x00\x00\x00\x00\x00\x00X\x0b\x00\x00\x00begin_epochq"K\x00X\x12\x00\x00\x00RPN_POST_NMS_TOP_Nq#M,\x01X\n\x00\x00\x00BBOX_MEANSq$]q%(G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00eX\x02\x00\x00\x00wdq&G?@bM\xd2\xf1\xa9\xfcX\x07\x00\x00\x00lr_stepq\'X\x05\x00\x00\x001.333q(X\x0e\x00\x00\x00RPN_BATCH_SIZEq)M\x00\x01X\t\x00\x00\x00end_epochq*K\x02X\x0c\x00\x00\x00RPN_MIN_SIZEq+K\x00X\x13\x00\x00\x00RPN_POSITIVE_WEIGHTq,G\xbf\xf0\x00\x00\x00\x00\x00\x00X\t\x00\x00\x00BBOX_STDSq-]q.(G?\xb9\x99\x99\x99\x99\x99\x9aG?\xb9\x99\x99\x99\x99\x99\x9aG?\xc9\x99\x99\x99\x99\x99\x9aG?\xc9\x99\x99\x99\x99\x99\x9aeX\x02\x00\x00\x00lrq/G?0bM\xd2\xf1\xa9\xfcX\x14\x00\x00\x00RPN_NEGATIVE_OVERLAPq0G?\xd3333333X\x1e\x00\x00\x00BBOX_NORMALIZATION_PRECOMPUTEDq1\x88X\x11\x00\x00\x00RPN_PRE_NMS_TOP_Nq2Mp\x17X\x0c\x00\x00\x00BG_THRESH_LOq3G\x00\x00\x00\x00\x00\x00\x00\x00X\n\x00\x00\x00MIN_OFFSETq4J\xf7\xff\xff\xffX\x0f\x00\x00\x00RPN_FG_FRACTIONq5G?\xe0\x00\x00\x00\x00\x00\x00X\x0b\x00\x00\x00FG_FRACTIONq6G?\xd0\x00\x00\x00\x00\x00\x00X\x0c\x00\x00\x00BBOX_WEIGHTSq7cnumpy.core.multiarray\n_reconstruct\nq8cnumpy\nndarray\nq9K\x00\x85q:C\x01bq;\x87q<Rq=(K\x01K\x04\x85q>cnumpy\ndtype\nq?X\x02\x00\x00\x00f8q@K\x00K\x01\x87qARqB(K\x03X\x01\x00\x00\x00<qCNNNJ\xff\xff\xff\xffJ\xff\xff\xff\xffK\x00tqDb\x89C \x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?qEtqFbX\x06\x00\x00\x00RESUMEqG\x89X\n\x00\x00\x00BATCH_ROISqHJ\xff\xff\xff\xffu}qI(h\nK\x80h\x0bG?\xb9\x99\x99\x99\x99\x99\x9ah\x0cG?\xe0\x00\x00\x00\x00\x00\x00h\rG?\xec\xcc\xcc\xcc\xcc\xcc\xcdh\x0e\x89h\x0fh\x10h\x11\x88h\x12\x88h\x13\x88h\x14G?\xe6ffffffh\x15\x89h\x16\x88h\x17K\x01h\x18G?\xe0\x00\x00\x00\x00\x00\x00h\x19K\th\x1a\x88h\x1bK\x00h\x1c\x88h\x1dK\x00h\x1eh\x1fh G?\xe6ffffffh!G?\xe0\x00\x00\x00\x00\x00\x00h"K\x00h#M,\x01h$h%h&G?@bM\xd2\xf1\xa9\xfch\'h(h)M\x00\x01h*K\x02h+K\x00h,G\xbf\xf0\x00\x00\x00\x00\x00\x00h-h.h/G?0bM\xd2\xf1\xa9\xfch0G?\xd3333333h1\x88h2Mp\x17h3G\x00\x00\x00\x00\x00\x00\x00\x00h4J\xf7\xff\xff\xffh5G?\xe0\x00\x00\x00\x00\x00\x00h6G?\xd0\x00\x00\x00\x00\x00\x00h7h=hG\x89hHJ\xff\xff\xff\xffubX\x04\x00\x00\x00TESTqJh\x00)\x81qK(h\x1c\x88h#M,\x01h+K\x00h2Mp\x17X\x07\x00\x00\x00HAS_RPNqL\x88h\x14G?\xe6ffffffh\x17K\x01X\x03\x00\x00\x00NMSqMG?\xd3333333X\x12\x00\x00\x00KEY_FRAME_INTERVALqNK\tX\r\x00\x00\x00max_per_imageqOM,\x01X\x07\x00\x00\x00SEQ_NMSqP\x89X\n\x00\x00\x00test_epochqQK\x02u}qR(h\x1c\x88h#M,\x01h+K\x00h2Mp\x17hL\x88h\x14G?\xe6ffffffh\x17K\x01hMG?\xd3333333hNK\thOM,\x01hP\x89hQK\x02ubX\x07\x00\x00\x00datasetqSh\x00)\x81qT(X\t\x00\x00\x00image_setqUX&\x00\x00\x00DET_train_30classes+VID_train_15framesqVX\x0c\x00\x00\x00dataset_pathqWX\x11\x00\x00\x00./data/ILSVRC2015qXX\x0e\x00\x00\x00test_image_setqYX\x0e\x00\x00\x00VID_val_videosqZX\t\x00\x00\x00root_pathq[X\x06\x00\x00\x00./dataq\\X\x14\x00\x00\x00enable_detailed_evalq]\x88X\x08\x00\x00\x00proposalq^X\x03\x00\x00\x00rpnq_hSX\x0b\x00\x00\x00ImageNetVIDq`X\x0b\x00\x00\x00NUM_CLASSESqaK\x1fX\x0f\x00\x00\x00motion_iou_pathqbX5\x00\x00\x00./lib/dataset/imagenet_vid_groundtruth_motion_iou.matqcu}qd(hUhVhWhXhYhZh[h\\h]\x88h^h_hSh`haK\x1fhbhcubX\x04\x00\x00\x00gpusqeX\x07\x00\x00\x000,1,2,3qfX\x06\x00\x00\x00SCALESqg]qhM\x90\x01MX\x02\x86qiaX\x0e\x00\x00\x00CLASS_AGNOSTICqj\x88X\x07\x00\x00\x00networkqkh\x00)\x81ql(X\x10\x00\x00\x00RCNN_FEAT_STRIDEqmK\x10X\x0b\x00\x00\x00NUM_ANCHORSqnK\tX\x0f\x00\x00\x00pretrained_flowqoX \x00\x00\x00./model/pretrained_model/flownetqpX\x0c\x00\x00\x00ANCHOR_MEANSqq]qr(G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00eX\x10\x00\x00\x00pretrained_epochqsK\x00X\x0c\x00\x00\x00FIXED_PARAMSqt]qu(X\x05\x00\x00\x00conv1qvX\x04\x00\x00\x00res2qwX\x02\x00\x00\x00bnqxeX\x0c\x00\x00\x00IMAGE_STRIDEqyK\x00X\r\x00\x00\x00NORMALIZE_RPNqz\x88X\x0b\x00\x00\x00PIXEL_MEANSq{h8h9K\x00\x85q|h;\x87q}Rq~(K\x01K\x03\x85q\x7fhB\x89C\x18\xa4p=\n\xd7\xc3Y@\x9a\x99\x99\x99\x99\xf9\\@\x9a\x99\x99\x99\x99\xc9^@q\x80tq\x81bX\r\x00\x00\x00FGFA_FEAT_DIMq\x82M\x00\x0cX\n\x00\x00\x00pretrainedq\x83X&\x00\x00\x00./model/pretrained_model/resnet_v1_101q\x84X\r\x00\x00\x00ANCHOR_RATIOSq\x85]q\x86(G?\xe0\x00\x00\x00\x00\x00\x00K\x01K\x02eX\x0f\x00\x00\x00RPN_FEAT_STRIDEq\x87K\x10X\x0b\x00\x00\x00ANCHOR_STDSq\x88]q\x89(G?\xb9\x99\x99\x99\x99\x99\x9aG?\xb9\x99\x99\x99\x99\x99\x9aG?\xd9\x99\x99\x99\x99\x99\x9aG?\xd9\x99\x99\x99\x99\x99\x9aeX\r\x00\x00\x00ANCHOR_SCALESq\x8a]q\x8b(K\x08K\x10K eu}q\x8c(hmK\x10hnK\thohphqhrhsK\x00hthuhyK\x00hz\x88h{h~h\x82M\x00\x0ch\x83h\x84h\x85h\x86h\x87K\x10h\x88h\x89h\x8ah\x8bubX\x07\x00\x00\x00defaultq\x8dh\x00)\x81q\x8e(X\x07\x00\x00\x00kvstoreq\x8fX\x06\x00\x00\x00deviceq\x90X\x08\x00\x00\x00frequentq\x91Kdu}q\x92(h\x8fh\x90h\x91Kdubu}q\x93(h\x04h\x05hj\x88h\x08h\thJhKhghhhkhlh\x02h\x03h\x06h\x07hehfhShTh\x8dh\x8eub.'
很显然,我的str中包含了b
字节literal symbol,并且出现错误。我尝试了几种解决方案,例如:
cfg.encode(encoding="utf-8").decode("unicode_escape")
但它仍然为泡菜产生无法使用的str。我认为最接近的是这个:
cfg[2:-1].encode(encoding='utf-8').decode("unicode_escape")
产生如下输出:
'\x80\x03ceasydict\nEasyDict\nq\x00)\x81q\x01(X\x07\x00\x00\x00datasetq\x02h\x00)\x81q\x03(X\x08\x00\x00\x00proposalq\x04X\x03\x00\x00\x00rpnq\x05X\x0f\x00\x00\x00motion_iou_pathq\x06X5\x00\x00\x00./lib/dataset/imagenet_vid_groundtruth_motion_iou.matq\x07X\t\x00\x00\x00image_setq\x08X&\x00\x00\x00DET_train_30classes+VID_train_15framesq\tX\t\x00\x00\x00root_pathq\nX\x06\x00\x00\x00./dataq\x0bh\x02X\x0b\x00\x00\x00ImageNetVIDq\x0cX\x0e\x00\x00\x00test_image_setq\rX\x0e\x00\x00\x00VID_val_videosq\x0eX\x0b\x00\x00\x00NUM_CLASSESq\x0fK\x1fX\x0c\x00\x00\x00dataset_pathq\x10X\x11\x00\x00\x00./data/ILSVRC2015q\x11X\x14\x00\x00\x00enable_detailed_evalq\x12\x88u}q\x13(h\x04h\x05h\x06h\x07h\x08h\th\nh\x0bh\x02h\x0ch\rh\x0eh\x0fK\x1fh\x10h\x11h\x12\x88ubX\x0b\x00\x00\x00output_pathq\x14X\x1f\x00\x00\x00./output/fgfa_rfcn/imagenet_vidq\x15X\x06\x00\x00\x00symbolq\x16X\x1a\x00\x00\x00resnet_v1_101_flownet_rfcnq\x17X\x07\x00\x00\x00defaultq\x18h\x00)\x81q\x19(X\x08\x00\x00\x00frequentq\x1aKdX\x07\x00\x00\x00kvstoreq\x1bX\x06\x00\x00\x00deviceq\x1cu}q\x1d(h\x1aKdh\x1bh\x1cubX\x04\x00\x00\x00gpusq\x1eX\x07\x00\x00\x000,1,2,3q\x1fX\x04\x00\x00\x00TESTq h\x00)\x81q!(X\x07\x00\x00\x00HAS_RPNq"\x88X\x12\x00\x00\x00KEY_FRAME_INTERVALq#K\tX\x0c\x00\x00\x00BATCH_IMAGESq$K\x01X\x11\x00\x00\x00RPN_PRE_NMS_TOP_Nq%Mp\x17X\x0c\x00\x00\x00RPN_MIN_SIZEq&K\x00X\x03\x00\x00\x00NMSq\'G?Ó333333X\x07\x00\x00\x00SEQ_NMSq(\x89X\x0e\x00\x00\x00RPN_NMS_THRESHq)G?æffffffX\n\x00\x00\x00test_epochq*K\x02X\x12\x00\x00\x00RPN_POST_NMS_TOP_Nq+M,\x01X\r\x00\x00\x00max_per_imageq,M,\x01X\x0c\x00\x00\x00CXX_PROPOSALq-\x88u}q.(h"\x88h#K\th$K\x01h%Mp\x17h&K\x00h\'G?Ó333333h(\x89h)G?æffffffh*K\x02h+M,\x01h,M,\x01h-\x88ubX\r\x00\x00\x00MXNET_VERSIONq/X\x00\x00\x00\x00q0X\x07\x00\x00\x00networkq1h\x00)\x81q2(X\x0b\x00\x00\x00PIXEL_MEANSq3cnumpy.core.multiarray\n_reconstruct\nq4cnumpy\nndarray\nq5K\x00\x85q6C\x01bq7\x87q8Rq9(K\x01K\x03\x85q:cnumpy\ndtype\nq;X\x02\x00\x00\x00f8q<K\x00K\x01\x87q=Rq>(K\x03X\x01\x00\x00\x00<q?NNNJÿÿÿÿJÿÿÿÿK\x00tq@b\x89C\x18¤p=\n×ÃY@\x9a\x99\x99\x99\x99ù\\@\x9a\x99\x99\x99\x99É^@qAtqBbX\x0f\x00\x00\x00RPN_FEAT_STRIDEqCK\x10X\r\x00\x00\x00ANCHOR_RATIOSqD]qE(G?à\x00\x00\x00\x00\x00\x00K\x01K\x02eX\x10\x00\x00\x00pretrained_epochqFK\x00X\n\x00\x00\x00pretrainedqGX&\x00\x00\x00./model/pretrained_model/resnet_v1_101qHX\x0b\x00\x00\x00ANCHOR_STDSqI]qJ(G?¹\x99\x99\x99\x99\x99\x9aG?¹\x99\x99\x99\x99\x99\x9aG?Ù\x99\x99\x99\x99\x99\x9aG?Ù\x99\x99\x99\x99\x99\x9aeX\x0f\x00\x00\x00pretrained_flowqKX \x00\x00\x00./model/pretrained_model/flownetqLX\x10\x00\x00\x00RCNN_FEAT_STRIDEqMK\x10X\x0c\x00\x00\x00IMAGE_STRIDEqNK\x00X\r\x00\x00\x00ANCHOR_SCALESqO]qP(K\x08K\x10K eX\r\x00\x00\x00FGFA_FEAT_DIMqQM\x00\x0cX\x0b\x00\x00\x00NUM_ANCHORSqRK\tX\r\x00\x00\x00NORMALIZE_RPNqS\x88X\x0c\x00\x00\x00FIXED_PARAMSqT]qU(X\x05\x00\x00\x00conv1qVX\x04\x00\x00\x00res2qWX\x02\x00\x00\x00bnqXeX\x0c\x00\x00\x00ANCHOR_MEANSqY]qZ(G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00eu}q[(h3h9hCK\x10hDhEhFK\x00hGhHhIhJhKhLhMK\x10hNK\x00hOhPhQM\x00\x0chRK\thS\x88hThUhYhZubX\x0e\x00\x00\x00CLASS_AGNOSTICq\\\x88X\x06\x00\x00\x00SCALESq]]q^M\x90\x01MX\x02\x86q_aX\x05\x00\x00\x00TRAINq`h\x00)\x81qa(X\x08\x00\x00\x00momentumqbG?ìÌÌÌÌÌÍX\x0c\x00\x00\x00BG_THRESH_LOqcG\x00\x00\x00\x00\x00\x00\x00\x00X\x06\x00\x00\x00RESUMEqd\x89X\x07\x00\x00\x00lr_stepqeX\x05\x00\x00\x001.333qfX\x0f\x00\x00\x00RPN_FG_FRACTIONqgG?à\x00\x00\x00\x00\x00\x00X\x0b\x00\x00\x00warmup_stepqhK\x00h)G?æffffffX\x0f\x00\x00\x00ASPECT_GROUPINGqi\x88X\t\x00\x00\x00BBOX_STDSqj]qk(G?¹\x99\x99\x99\x99\x99\x9aG?¹\x99\x99\x99\x99\x99\x9aG?É\x99\x99\x99\x99\x99\x9aG?É\x99\x99\x99\x99\x99\x9aeX\x0e\x00\x00\x00RPN_BATCH_SIZEqlM\x00\x01X\n\x00\x00\x00MIN_OFFSETqmJ÷ÿÿÿX\t\x00\x00\x00FG_THRESHqnG?à\x00\x00\x00\x00\x00\x00X\x10\x00\x00\x00RPN_BBOX_WEIGHTSqo]qp(G?ð\x00\x00\x00\x00\x00\x00G?ð\x00\x00\x00\x00\x00\x00G?ð\x00\x00\x00\x00\x00\x00G?ð\x00\x00\x00\x00\x00\x00eX\x14\x00\x00\x00RPN_NEGATIVE_OVERLAPqqG?Ó333333X\x06\x00\x00\x00warmupqr\x89X\x0b\x00\x00\x00FG_FRACTIONqsG?Ð\x00\x00\x00\x00\x00\x00X\t\x00\x00\x00lr_factorqtG?¹\x99\x99\x99\x99\x99\x9aX\n\x00\x00\x00MAX_OFFSETquK\tX\x13\x00\x00\x00RPN_POSITIVE_WEIGHTqvG¿ð\x00\x00\x00\x00\x00\x00X\t\x00\x00\x00end_epochqwK\x02X\x14\x00\x00\x00RPN_POSITIVE_OVERLAPqxG?æffffffX\x0f\x00\x00\x00BATCH_ROIS_OHEMqyK\x80X\x0b\x00\x00\x00ENABLE_OHEMqz\x88X\x15\x00\x00\x00RPN_CLOBBER_POSITIVESq{\x89X\n\x00\x00\x00BATCH_ROISq|Jÿÿÿÿh$K\x01X\x02\x00\x00\x00lrq}G?0bMÒñ©üX\n\x00\x00\x00BBOX_MEANSq~]q\x7f(G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00eX\x0c\x00\x00\x00model_prefixq\x80X\r\x00\x00\x00fgfa_rfcn_vidq\x81X\t\x00\x00\x00warmup_lrq\x82K\x00h%Mp\x17X\x1e\x00\x00\x00BBOX_NORMALIZATION_PRECOMPUTEDq\x83\x88X\x16\x00\x00\x00BBOX_REGRESSION_THRESHq\x84G?à\x00\x00\x00\x00\x00\x00h-\x88h&K\x00X\x0c\x00\x00\x00BBOX_WEIGHTSq\x85h4h5K\x00\x85q\x86h7\x87q\x87Rq\x88(K\x01K\x04\x85q\x89h>\x89C \x00\x00\x00\x00\x00\x00ð?\x00\x00\x00\x00\x00\x00ð?\x00\x00\x00\x00\x00\x00ð?\x00\x00\x00\x00\x00\x00ð?q\x8atq\x8bbX\x02\x00\x00\x00wdq\x8cG?@bMÒñ©üX\x04\x00\x00\x00FLIPq\x8d\x88X\x0b\x00\x00\x00begin_epochq\x8eK\x00X\x07\x00\x00\x00END2ENDq\x8f\x88h+M,\x01X\x07\x00\x00\x00SHUFFLEq\x90\x88X\x0c\x00\x00\x00BG_THRESH_HIq\x91G?à\x00\x00\x00\x00\x00\x00u}q\x92(hbG?ìÌÌÌÌÌÍhcG\x00\x00\x00\x00\x00\x00\x00\x00hd\x89hehfhgG?à\x00\x00\x00\x00\x00\x00hhK\x00h)G?æffffffhi\x88hjhkhlM\x00\x01hmJ÷ÿÿÿhnG?à\x00\x00\x00\x00\x00\x00hohphqG?Ó333333hr\x89hsG?Ð\x00\x00\x00\x00\x00\x00htG?¹\x99\x99\x99\x99\x99\x9ahuK\thvG¿ð\x00\x00\x00\x00\x00\x00hwK\x02hxG?æffffffhyK\x80hz\x88h{\x89h|Jÿÿÿÿh$K\x01h}G?0bMÒñ©üh~h\x7fh\x80h\x81h\x82K\x00h%Mp\x17h\x83\x88h\x84G?à\x00\x00\x00\x00\x00\x00h-\x88h&K\x00h\x85h\x88h\x8cG?@bMÒñ©üh\x8d\x88h\x8eK\x00h\x8f\x88h+M,\x01h\x90\x88h\x91G?à\x00\x00\x00\x00\x00\x00ubu}q\x93(h\x1eh\x1fh/h0h1h2h\\\x88h\x18h\x19h\x14h\x15h\x16h\x17h`hah\x02h\x03h h!h]h^ub.'
仍然需要在前面加上b
注释。
该项目使用MXNet,所以有时我有点迷路。无论如何,在最后一步之前,str就有了价值:
b'b\'\\x80\\x03ceasydict\\nEasyDict\\nq\\x00)\\x81q\\x01(X\\x05\\x00\\x00\\x00TRAINq\\x02h\\x00)\\x81q\\x03(X\\x04\\x00\\x00\\x00FLIPq\\x04\\x88X\\x0b\\x00\\x00\\x00ENABLE_OHEMq\\x05\\x88X\\t\\x00\\x00\\x00end_epochq\\x06K\\x02X\\x0f\\x00\\x00\\x00BATCH_ROIS_OHEMq\\x07K\\x80X\\x07\\x00\\x00\\x00SHUFFLEq\\x08\\x88X\\x12\\x00\\x00\\x00RPN_POST_NMS_TOP_Nq\\tM,\\x01X\\x02\\x00\\x00\\x00lrq\\nG?0bM\\xd2\\xf1\\xa9\\xfcX\\x0b\\x00\\x00\\x00begin_epochq\\x0bK\\x00X\\x02\\x00\\x00\\x00wdq\\x0cG?@bM\\xd2\\xf1\\xa9\\xfcX\\x0c\\x00\\x00\\x00CXX_PROPOSALq\\r\\x88X\\n\\x00\\x00\\x00MIN_OFFSETq\\x0eJ\\xf7\\xff\\xff\\xffX\\x0e\\x00\\x00\\x00RPN_BATCH_SIZEq\\x0fM\\x00\\x01X\\n\\x00\\x00\\x00BBOX_MEANSq\\x10]q\\x11(G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00eX\\x0c\\x00\\x00\\x00BATCH_IMAGESq\\x12K\\x01X\\x0c\\x00\\x00\\x00model_prefixq\\x13X\\r\\x00\\x00\\x00fgfa_rfcn_vidq\\x14X\\x13\\x00\\x00\\x00RPN_POSITIVE_WEIGHTq\\x15G\\xbf\\xf0\\x00\\x00\\x00\\x00\\x00\\x00X\\x0f\\x00\\x00\\x00ASPECT_GROUPINGq\\x16\\x88X\\x0c\\x00\\x00\\x00BG_THRESH_HIq\\x17G?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00X\\t\\x00\\x00\\x00BBOX_STDSq\\x18]q\\x19(G?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xc9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xc9\\x99\\x99\\x99\\x99\\x99\\x9aeX\\x0e\\x00\\x00\\x00RPN_NMS_THRESHq\\x1aG?\\xe6ffffffX\\x07\\x00\\x00\\x00END2ENDq\\x1b\\x88X\\x14\\x00\\x00\\x00RPN_NEGATIVE_OVERLAPq\\x1cG?\\xd3333333X\\n\\x00\\x00\\x00BATCH_ROISq\\x1dJ\\xff\\xff\\xff\\xffX\\t\\x00\\x00\\x00FG_THRESHq\\x1eG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00X\\x11\\x00\\x00\\x00RPN_PRE_NMS_TOP_Nq\\x1fMp\\x17X\\x07\\x00\\x00\\x00lr_stepq X\\x05\\x00\\x00\\x001.333q!X\\x1e\\x00\\x00\\x00BBOX_NORMALIZATION_PRECOMPUTEDq"\\x88X\\x16\\x00\\x00\\x00BBOX_REGRESSION_THRESHq#G?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00X\\x0c\\x00\\x00\\x00BG_THRESH_LOq$G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00X\\x0b\\x00\\x00\\x00FG_FRACTIONq%G?\\xd0\\x00\\x00\\x00\\x00\\x00\\x00X\\x0c\\x00\\x00\\x00BBOX_WEIGHTSq&cnumpy.core.multiarray\\n_reconstruct\\nq\\\'cnumpy\\nndarray\\nq(K\\x00\\x85q)C\\x01bq*\\x87q+Rq,(K\\x01K\\x04\\x85q-cnumpy\\ndtype\\nq.X\\x02\\x00\\x00\\x00f8q/K\\x00K\\x01\\x87q0Rq1(K\\x03X\\x01\\x00\\x00\\x00<q2NNNJ\\xff\\xff\\xff\\xffJ\\xff\\xff\\xff\\xffK\\x00tq3b\\x89C \\x00\\x00\\x00\\x00\\x00\\x00\\xf0?\\x00\\x00\\x00\\x00\\x00\\x00\\xf0?\\x00\\x00\\x00\\x00\\x00\\x00\\xf0?\\x00\\x00\\x00\\x00\\x00\\x00\\xf0?q4tq5bX\\x0b\\x00\\x00\\x00warmup_stepq6K\\x00X\\x0f\\x00\\x00\\x00RPN_FG_FRACTIONq7G?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00X\\t\\x00\\x00\\x00warmup_lrq8K\\x00X\\x10\\x00\\x00\\x00RPN_BBOX_WEIGHTSq9]q:(G?\\xf0\\x00\\x00\\x00\\x00\\x00\\x00G?\\xf0\\x00\\x00\\x00\\x00\\x00\\x00G?\\xf0\\x00\\x00\\x00\\x00\\x00\\x00G?\\xf0\\x00\\x00\\x00\\x00\\x00\\x00eX\\x15\\x00\\x00\\x00RPN_CLOBBER_POSITIVESq;\\x89X\\x08\\x00\\x00\\x00momentumq<G?\\xec\\xcc\\xcc\\xcc\\xcc\\xcc\\xcdX\\x14\\x00\\x00\\x00RPN_POSITIVE_OVERLAPq=G?\\xe6ffffffX\\x0c\\x00\\x00\\x00RPN_MIN_SIZEq>K\\x00X\\t\\x00\\x00\\x00lr_factorq?G?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aX\\n\\x00\\x00\\x00MAX_OFFSETq@K\\tX\\x06\\x00\\x00\\x00warmupqA\\x89X\\x06\\x00\\x00\\x00RESUMEqB\\x89u}qC(h\\x04\\x88h\\x05\\x88h\\x06K\\x02h\\x07K\\x80h\\x08\\x88h\\tM,\\x01h\\nG?0bM\\xd2\\xf1\\xa9\\xfch\\x0bK\\x00h\\x0cG?@bM\\xd2\\xf1\\xa9\\xfch\\r\\x88h\\x0eJ\\xf7\\xff\\xff\\xffh\\x0fM\\x00\\x01h\\x10h\\x11h\\x12K\\x01h\\x13h\\x14h\\x15G\\xbf\\xf0\\x00\\x00\\x00\\x00\\x00\\x00h\\x16\\x88h\\x17G?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00h\\x18h\\x19h\\x1aG?\\xe6ffffffh\\x1b\\x88h\\x1cG?\\xd3333333h\\x1dJ\\xff\\xff\\xff\\xffh\\x1eG?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00h\\x1fMp\\x17h h!h"\\x88h#G?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00h$G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00h%G?\\xd0\\x00\\x00\\x00\\x00\\x00\\x00h&h,h6K\\x00h7G?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00h8K\\x00h9h:h;\\x89h<G?\\xec\\xcc\\xcc\\xcc\\xcc\\xcc\\xcdh=G?\\xe6ffffffh>K\\x00h?G?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9ah@K\\thA\\x89hB\\x89ubX\\x07\\x00\\x00\\x00datasetqDh\\x00)\\x81qE(X\\x0b\\x00\\x00\\x00NUM_CLASSESqFK\\x1fhDX\\x0b\\x00\\x00\\x00ImageNetVIDqGX\\x14\\x00\\x00\\x00enable_detailed_evalqH\\x88X\\t\\x00\\x00\\x00image_setqIX&\\x00\\x00\\x00DET_train_30classes+VID_train_15framesqJX\\t\\x00\\x00\\x00root_pathqKX\\x06\\x00\\x00\\x00./dataqLX\\x08\\x00\\x00\\x00proposalqMX\\x03\\x00\\x00\\x00rpnqNX\\x0c\\x00\\x00\\x00dataset_pathqOX\\x11\\x00\\x00\\x00./data/ILSVRC2015qPX\\x0f\\x00\\x00\\x00motion_iou_pathqQX5\\x00\\x00\\x00./lib/dataset/imagenet_vid_groundtruth_motion_iou.matqRX\\x0e\\x00\\x00\\x00test_image_setqSX\\x0e\\x00\\x00\\x00VID_val_videosqTu}qU(hFK\\x1fhDhGhH\\x88hIhJhKhLhMhNhOhPhQhRhShTubX\\x0e\\x00\\x00\\x00CLASS_AGNOSTICqV\\x88X\\x04\\x00\\x00\\x00gpusqWX\\x07\\x00\\x00\\x000,1,2,3qXX\\x06\\x00\\x00\\x00symbolqYX\\x1a\\x00\\x00\\x00resnet_v1_101_flownet_rfcnqZX\\x06\\x00\\x00\\x00SCALESq[]q\\\\M\\x90\\x01MX\\x02\\x86q]aX\\x07\\x00\\x00\\x00networkq^h\\x00)\\x81q_(X\\x0f\\x00\\x00\\x00pretrained_flowq`X \\x00\\x00\\x00./model/pretrained_model/flownetqaX\\x0c\\x00\\x00\\x00IMAGE_STRIDEqbK\\x00X\\x0b\\x00\\x00\\x00ANCHOR_STDSqc]qd(G?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xb9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xd9\\x99\\x99\\x99\\x99\\x99\\x9aG?\\xd9\\x99\\x99\\x99\\x99\\x99\\x9aeX\\x0c\\x00\\x00\\x00ANCHOR_MEANSqe]qf(G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00G\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00eX\\x0f\\x00\\x00\\x00RPN_FEAT_STRIDEqgK\\x10X\\r\\x00\\x00\\x00ANCHOR_SCALESqh]qi(K\\x08K\\x10K eX\\x10\\x00\\x00\\x00pretrained_epochqjK\\x00X\\n\\x00\\x00\\x00pretrainedqkX&\\x00\\x00\\x00./model/pretrained_model/resnet_v1_101qlX\\r\\x00\\x00\\x00ANCHOR_RATIOSqm]qn(G?\\xe0\\x00\\x00\\x00\\x00\\x00\\x00K\\x01K\\x02eX\\x0b\\x00\\x00\\x00PIXEL_MEANSqoh\\\'h(K\\x00\\x85qph*\\x87qqRqr(K\\x01K\\x03\\x85qsh1\\x89C\\x18\\xa4p=\\n\\xd7\\xc3Y@\\x9a\\x99\\x99\\x99\\x99\\xf9\\\\@\\x9a\\x99\\x99\\x99\\x99\\xc9^@qttqubX\\x10\\x00\\x00\\x00RCNN_FEAT_STRIDEqvK\\x10X\\x0c\\x00\\x00\\x00FIXED_PARAMSqw]qx(X\\x05\\x00\\x00\\x00conv1qyX\\x04\\x00\\x00\\x00res2qzX\\x02\\x00\\x00\\x00bnq{eX\\r\\x00\\x00\\x00NORMALIZE_RPNq|\\x88X\\r\\x00\\x00\\x00FGFA_FEAT_DIMq}M\\x00\\x0cX\\x0b\\x00\\x00\\x00NUM_ANCHORSq~K\\tu}q\\x7f(h`hahbK\\x00hchdhehfhgK\\x10hhhihjK\\x00hkhlhmhnhohrhvK\\x10hwhxh|\\x88h}M\\x00\\x0ch~K\\tubX\\r\\x00\\x00\\x00MXNET_VERSIONq\\x80X\\x00\\x00\\x00\\x00q\\x81X\\x07\\x00\\x00\\x00defaultq\\x82h\\x00)\\x81q\\x83(X\\x08\\x00\\x00\\x00frequentq\\x84KdX\\x07\\x00\\x00\\x00kvstoreq\\x85X\\x06\\x00\\x00\\x00deviceq\\x86u}q\\x87(h\\x84Kdh\\x85h\\x86ubX\\x04\\x00\\x00\\x00TESTq\\x88h\\x00)\\x81q\\x89(h\\tM,\\x01h\\x12K\\x01X\\x07\\x00\\x00\\x00HAS_RPNq\\x8a\\x88h\\x1fMp\\x17h\\x1aG?\\xe6ffffffX\\n\\x00\\x00\\x00test_epochq\\x8bK\\x02X\\x03\\x00\\x00\\x00NMSq\\x8cG?\\xd3333333X\\x12\\x00\\x00\\x00KEY_FRAME_INTERVALq\\x8dK\\th>K\\x00X\\x07\\x00\\x00\\x00SEQ_NMSq\\x8e\\x89X\\r\\x00\\x00\\x00max_per_imageq\\x8fM,\\x01h\\r\\x88u}q\\x90(h\\tM,\\x01h\\x12K\\x01h\\x8a\\x88h\\x1fMp\\x17h\\x1aG?\\xe6ffffffh\\x8bK\\x02h\\x8cG?\\xd3333333h\\x8dK\\th>K\\x00h\\x8e\\x89h\\x8fM,\\x01h\\r\\x88ubX\\x0b\\x00\\x00\\x00output_pathq\\x91X\\x1f\\x00\\x00\\x00./output/fgfa_rfcn/imagenet_vidq\\x92u}q\\x93(h\\x02h\\x03h[h\\\\h\\x88h\\x89h\\x80h\\x81h\\x82h\\x83h\\x91h\\x92hDhEhV\\x88hWhXhYhZh^h_ub.\''
,它通过py_str = lambda x: x.decode('utf-8')
函数传递以产生初始str。
最初的easydict
对象(在将其传递给参数之前)可以通过pickle进行操作:
pickle.loads(pickle.dumps(cfg))
可以很好地进行编译(尽管我没有彻底检查它是否与初始cfg
相同)。
最初的项目是用python2编写的,并使用了cPickle,我正在尝试使其适用于python3和pickle。
有什么想法可以绕过这个问题吗?
编辑:
为了使事情更清楚,我猜想,easydict
是处理复杂的字典结构的简便方法。基本上,它会将keys
转换为更具可读性的属性。
pickle.dumps()
的初始参数是一个easydict
对象,因为我没有提到过str
,但我想它像普通字典一样转换为str
。 / p>