def test_save_and_load(): cl = SVMClassifier() cl.load_model(MODEL_PATH) classify_result = cl.classify(VIDEO_PATH, boost_mode=False) result_file = "save.json" reporter = Reporter() reporter.add_extra("some_name", "some_value") reporter.save(result_file, classify_result) assert os.path.isfile(result_file) classify_result_after = Reporter.load(result_file) assert classify_result.get_length() == classify_result_after.get_length() for i, j in zip(classify_result.data, classify_result_after.data): assert i.to_dict() == j.to_dict() assert isinstance(reporter.get_stable_stage_sample(classify_result), np.ndarray)
# 可以直接进入 ClassifyResult 对象中查看 cr_dict = classify_result.to_dict() print(cr_dict) # contain_image (>=0.9.1) # 你可以利用模板匹配,对最终结果与你的预期进行对比,从而得知阶段是否与你的期望相符 # 全自动化的校验可以在此基础上展开 # res = data_list[0].contain_image(image_path="path/to/your/template/path") # print(res) # 你可以得到类似这样的结果: # {'target_point': [550, 915], 'target_sim': 0.9867244362831116, 'ok': True} # --- draw --- r = Reporter() # 你可以将把一些自定义数据插入到报告中 r.add_extra("data_home", data_home) # 在0.3.2及之后的版本,你可以在报告中加入一些自定义内容 (https://github.com/williamfzc/stagesepx/issues/13) # r.add_extra('here is title', 'here is content') r.draw( classify_result, report_path=os.path.join(data_home, "report.html"), # 传入 unstable 可以将对应部分标记为 unstable # 会影响最终的分析结果 unstable_ranges=unstable, # 0.5.3新增的特性,多用于debug # 传入cutter的切割结果,能够在图表末尾追加 SSIM、MSE、PSNR 的变化趋势图 cut_result=res, )