def entry()

in sample-apps/custom-model/code/application.py [0:0]


    def entry(self, inputs, outputs):
        """Processes one frame of video from one or more video streams."""
        frame_start = time.time()
        self.frame_num += 1
        # Loop through attached video streams
        for i in range(len(inputs.video_in)):
            outputs.video_out[i] = self.process_media(inputs.video_in[i])
        # Log metrics
        frame_time = (time.time() - frame_start) * 1000
        if frame_time > self.frame_time_max:
            self.frame_time_max = frame_time
        self.frame_time_ms += frame_time
        if self.frame_num % self.epoch_frames == 0:
            epoch_time = time.time() - self.epoch_start
            logger.info('epoch length: {:.3f} s ({:.3f} FPS)'.format(epoch_time, self.epoch_frames/epoch_time))
            logger.info('avg inference time: {:.3f} ms'.format(self.inference_time_ms / self.epoch_frames / len(inputs.video_in)))
            logger.info('max inference time: {:.3f} ms'.format(self.inference_time_max))
            logger.info('avg frame processing time: {:.3f} ms'.format(self.frame_time_ms / self.epoch_frames))
            logger.info('max frame processing time: {:.3f} ms'.format(self.frame_time_max))
            self.put_metric('InferenceTime', self.inference_time_ms / self.epoch_frames / len(inputs.video_in))
            self.put_metric('FrameTime', self.frame_time_ms / self.epoch_frames)
            self.inference_time_ms = 0
            self.inference_time_max = 0
            self.frame_time_ms = 0
            self.frame_time_max = 0
            self.epoch_start = time.time()
        return True