gesture_classifier.load_state_dict(checkpoint) gesture_classifier.eval() # Concatenate feature extractor and met converter net = Pipe(feature_extractor, gesture_classifier) # Create inference engine, video streaming and display instances inference_engine = engine.InferenceEngine(net, use_gpu=use_gpu) video_source = camera.VideoSource(camera_id=camera_id, size=inference_engine.expected_frame_size, filename=path_in) video_stream = camera.VideoStream(video_source, inference_engine.fps) postprocessor = [ PostprocessClassificationOutput(INT2LAB, smoothing=4) ] display_ops = [ realtimenet.display.DisplayTopKClassificationOutputs(top_k=1, threshold=0.5), ] display_results = realtimenet.display.DisplayResults(title=title, display_ops=display_ops) engine.run_inference_engine(inference_engine, video_stream, postprocessor, display_results, path_out)
gesture_classifier.load_state_dict(checkpoint) gesture_classifier.eval() # Load MET value converter met_value_converter = calorie_estimation.METValueMLPConverter() checkpoint = torch.load( 'resources/calorie_estimation/mobilenet_features_met_converter.ckpt') met_value_converter.load_state_dict(checkpoint) met_value_converter.eval() # Concatenate feature extractor with downstream nets net = Pipe(feature_extractor, feature_converter=[gesture_classifier, met_value_converter]) post_processors = [ PostprocessClassificationOutput(INT2LAB, smoothing=8, indices=[0]), calorie_estimation.CalorieAccumulator(weight=weight, height=height, age=age, gender=gender, smoothing=12, indices=[1]) ] display_ops = [ realtimenet.display.DisplayFPS(expected_camera_fps=net.fps, expected_inference_fps=net.fps / net.step_size), realtimenet.display.DisplayTopKClassificationOutputs(top_k=1, threshold=0.5), realtimenet.display.DisplayMETandCalories(y_offset=40),
def _setup_post_processor(self): self.postprocessors = [ PostprocessClassificationOutput(INT2LAB, smoothing=4) ]