def _load_net(self): # Load feature extractor feature_extractor = feature_extractors.StridedInflatedEfficientNet() checkpoint = engine.load_weights(self.feature_extractor_weights) feature_extractor.load_state_dict(checkpoint) feature_extractor.eval() # Load a logistic regression classifier gesture_classifier = LogisticRegression( num_in=feature_extractor.feature_dim, num_out=30) checkpoint = engine.load_weights(self.gesture_classifier_weights) gesture_classifier.load_state_dict(checkpoint) gesture_classifier.eval() # Combine both models self.net = Pipe(feature_extractor, gesture_classifier)
if __name__ == "__main__": # Parse arguments args = docopt(__doc__) weight = float(args['--weight']) height = float(args['--height']) age = float(args['--age']) gender = args['--gender'] or None camera_id = args['--camera_id'] or 0 path_in = args['--path_in'] or None path_out = args['--path_out'] or None title = args['--title'] or None use_gpu = args['--use_gpu'] # Load feature extractor feature_extractor = feature_extractors.StridedInflatedMobileNetV2() checkpoint = engine.load_weights( 'resources/backbone/strided_inflated_mobilenet.ckpt') feature_extractor.load_state_dict(checkpoint) feature_extractor.eval() # Load fitness activity classifier gesture_classifier = LogisticRegression( num_in=feature_extractor.feature_dim, num_out=81) checkpoint = engine.load_weights( 'resources/fitness_activity_recognition/mobilenet_logistic_regression.ckpt' ) gesture_classifier.load_state_dict(checkpoint) gesture_classifier.eval() # Load MET value converter met_value_converter = calorie_estimation.METValueMLPConverter() checkpoint = torch.load(
# Parse arguments args = docopt(__doc__) weight = float(args['--weight']) height = float(args['--height']) age = float(args['--age']) gender = args['--gender'] or None use_gpu = args['--use_gpu'] camera_id = args['--camera_id'] or 0 path_in = args['--path_in'] or None path_out = args['--path_out'] or None title = args['--title'] or None # Load feature extractor feature_extractor = feature_extractors.StridedInflatedMobileNetV2() checkpoint = engine.load_weights( 'resources/backbone/strided_inflated_mobilenet.ckpt') feature_extractor.load_state_dict(checkpoint) feature_extractor.eval() # Load MET value converter met_value_converter = calorie_estimation.METValueMLPConverter() checkpoint = engine.load_weights( 'resources/calorie_estimation/mobilenet_features_met_converter.ckpt') met_value_converter.load_state_dict(checkpoint) met_value_converter.eval() # Concatenate feature extractor and met converter net = Pipe(feature_extractor, met_value_converter) post_processors = [ calorie_estimation.CalorieAccumulator(weight=weight,
from realtimenet.downstream_tasks.nn_utils import Pipe, LogisticRegression from realtimenet.downstream_tasks.postprocess import PostprocessClassificationOutput if __name__ == "__main__": # Parse arguments args = docopt(__doc__) camera_id = args['--camera_id'] or 0 path_in = args['--path_in'] or None path_out = args['--path_out'] or None title = args['--title'] or None use_gpu = args['--use_gpu'] # Load feature extractor feature_extractor = feature_extractors.StridedInflatedEfficientNet() checkpoint = engine.load_weights('resources/backbone/strided_inflated_efficientnet.ckpt') feature_extractor.load_state_dict(checkpoint) feature_extractor.eval() # Load a logistic regression classifier gesture_classifier = LogisticRegression(num_in=feature_extractor.feature_dim, num_out=30) checkpoint = engine.load_weights('resources/gesture_detection/efficientnet_logistic_regression.ckpt') 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)
from realtimenet.downstream_tasks.nn_utils import Pipe, LogisticRegression from realtimenet.downstream_tasks.postprocess import PostprocessClassificationOutput if __name__ == "__main__": # Parse arguments args = docopt(__doc__) camera_id = args['--camera_id'] or 0 path_in = args['--path_in'] or None path_out = args['--path_out'] or None custom_classifier = args['--custom_classifier'] or None title = args['--title'] or None use_gpu = args['--use_gpu'] # Load original feature extractor feature_extractor = feature_extractors.StridedInflatedEfficientNet() checkpoint = engine.load_weights( 'resources/backbone/strided_inflated_efficientnet.ckpt') # Load custom classifier checkpoint_classifier = engine.load_weights( os.path.join(custom_classifier, 'classifier.checkpoint')) # Update original weights in case some intermediate layers have been finetuned name_finetuned_layers = set(checkpoint.keys()).intersection( checkpoint_classifier.keys()) for key in name_finetuned_layers: checkpoint[key] = checkpoint_classifier.pop(key) feature_extractor.load_state_dict(checkpoint) feature_extractor.eval() with open(os.path.join(custom_classifier, 'label2int.json')) as file: class2int = json.load(file) INT2LAB = {value: key for key, value in class2int.items()}
from realtimenet.downstream_tasks.fitness_rep_counting import INT2LAB from realtimenet.downstream_tasks.nn_utils import Pipe, LogisticRegression from realtimenet.downstream_tasks.postprocess import PostprocessRepCounts, PostprocessClassificationOutput if __name__ == "__main__": # Parse arguments args = docopt(__doc__) camera_id = args['--camera_id'] or 0 path_in = args['--path_in'] or None path_out = args['--path_out'] or None title = args['--title'] or None use_gpu = args['--use_gpu'] # Load feature extractor feature_extractor = feature_extractors.StridedInflatedEfficientNet() checkpoint = engine.load_weights( 'resources/backbone/strided_inflated_efficientnet.ckpt') feature_extractor.load_state_dict(checkpoint) feature_extractor.eval() # Load a logistic regression classifier gesture_classifier = LogisticRegression( num_in=feature_extractor.feature_dim, num_out=5) checkpoint = engine.load_weights( 'resources/fitness_rep_counting/efficientnet_logistic_regression.ckpt') 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