ActionAI
ActionAI copied to clipboard
Project dependencies may have API risk issues
Hi, In ActionAI, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
tensorflow>=2.6.2
scipy
scikit-learn
opencv-contrib-python
pandas
pillow
The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.
After further analysis, in this project, The version constraint of dependency scikit-learn can be changed to >=0.15.0,<=0.20.4. The version constraint of dependency pandas can be changed to >=0.4.0,<=0.6.0. The version constraint of dependency pandas can be changed to >=0.13.0,<=0.23.4. The version constraint of dependency pillow can be changed to ==9.2.0. The version constraint of dependency pillow can be changed to >=2.0.0,<=9.1.1.
The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.
The invocation of the current project includes all the following methods.
The calling methods from the scikit-learn
sklearn.utils.linear_assignment_.linear_assignment random.choice
The calling methods from the pandas
pandas.DataFrame.to_csv pandas.read_csv
The calling methods from the pillow
PIL.Image.fromarray PIL.Image.open
The calling methods from the all methods
numpy.where pickle.load transformer.PoseExtractor.transform feat_array.append subprocess.Popen.communicate numpy.zeros.tolist body_labels.items keras.optimizers.RMSprop tracker.annotate.sub_ datetime.datetime.now self.cubit_q.append utils.source_capture cv2.resize tensorflow.contrib.lite.Interpreter.get_tensor person.PersonTracker.set_pose pygame.joystick.Joystick.init pandas.read_csv.to_csv cv2.imread.sub_ cv2.VideoCapture.release actionModel cv2.drawMarker tensorflow.keras.models.Sequential cv2.VideoCapture.set a_idx.data.cpu.numpy sample.reshape.reshape lstm_model.compile a_idx.data.cpu self.parse_objects screen_size.getScreenDims lstm_model.summary load_data numpy.random.randint numpy.vstack model.lstm_model.fit open self.body_labels.values motionClassifier.pose str model.lstm_model logging.StreamHandler utils.img_obj.annotate humans self.q.append cv2.rectangle lstm_model.fit ky.pose_dict.values augment numpy.random.choice sys.exit numpy.sum self.motion_path.os.path.splitext.split isinstance control.getButton self.interpreter.get_tensor cv2.threshold self.interpreter.get_output_details self.get_keypoints.append self.formatPose cv2.VideoCapture.read cv2.dilate numpy.sin bbox.append random.uniform body_dict.get lstm_model.add X_train.reshape.reshape self.motion.pose get_bbox.append trackers.append get_bbox image.astype.astype mean.image.sub_.div_ pandas.read_csv.iterrows self.cam.read PoseExtractor model.lstm_model.predict idx.trackers.set_bbox tracker.annotate tensorflow.keras.models.load_model.save generate_stickfig os.path.splitext keras.models.Sequential tensorflow.keras.models.load_model keras.layers.Dropout unmatched_trackers.append ss.N.x.reshape.kp_rotate.np.apply_along_axis.flatten idx.trackers.set_pose rand_shift.copy numpy.concatenate.append cv2.imwrite trackers.pop torch2trt.TRTModule body.values argparse.ArgumentParser.add_argument self.motion_model.predict self.interpreter.get_input_details ffwd_n_avg utils.source_capture.read numpy.linalg.norm ky.pose_dict.keys self.flow.index trainModel cv2.imread.resize self.run_inference logging.getLogger.info image.np.expand_dims.astype numpy.empty open.close argparse.ArgumentParser PIL.Image.fromarray tensorflow.keras.models.Sequential.summary pose.replace.replace type pygame.joystick.Joystick.get_button get_data time.time random.randint cv2.VideoWriter tensorflow.keras.models.load_model.add motionClassifier paf.detach.cpu dataset_train.str.replace X_test.reshape.reshape torch.Tensor dataset_test.str.replace bs4.BeautifulSoup tuple humans.append self.interpreter.set_tensor model.RMSprop transformer.PoseExtractor tensorflow.keras.models.load_model.predict self.get_keypoints torch.load pandas.read_csv.head logging.Formatter labeled_images.append tensorflow.contrib.lite.Interpreter set tensorflow.contrib.lite.Interpreter.get_output_details url.split FaceDetector.process_frame pandas.DataFrame.to_csv flow.Flow xgboost.XGBClassifier keras.layers.Dense resolution_string.split.decode.split self.preprocess tensorflow.contrib.lite.Interpreter.invoke keras.utils.to_categorical tensorflow.keras.models.load_model.compile data_lst.append numpy.zeros sorted model.to_categorical pygame.joystick.Joystick.get_name self.sayPhrase pickle.dump cv2.dilate.copy activity_dict.values list.append actionModel.get_params source.isdigit.isdigit rand_shift model_trt cv2.imread vert_swap cmap.detach collections.defaultdict tensorflow.keras.layers.LSTM utils.id_gen csv.writer numpy.array cv2.namedWindow join mC.result.np.sum.reshape numpy.arctan sklearn.utils.linear_assignment_.linear_assignment rand_flow person.PersonTracker.set_bbox cv2.VideoCapture b_idx.data.cpu.numpy cv2.VideoWriter_fourcc utils.update_trackers os.path.basename json.load actionModel.fit datetime.datetime.now.strftime importlib.import_module.classifier dict torch.Tensor.cuda extractor.transform.reshape numpy.asarray os.path.exists self.model_trt unmatched_detections.append sorted.append cv2.VideoCapture.isOpened bs4.BeautifulSoup.find_all min body_list.append cv2.accumulateWeighted motionClassifier.motion os.path.join time.sleep self.interpreter.allocate_tensors os.walk tensorflow.contrib.lite.Interpreter.get_input_details cv2.absdiff preprocess subprocess.call cv2.VideoWriter.release collections.defaultdict.keys self.motion.ft_ext cv2.findContours idx.trackers.update_pose subprocess.Popen poses.inference cv2.cvtColor utils.img_obj IOU collections.deque.append numpy.hstack lst.append keras.models.load_model self.ffwd_n_avg.list.np.concatenate.reshape dictOfElements.items motionClassifier.motion_detector importlib.import_module paho.mqtt.client.Client tensorflow.keras.models.load_model.summary numpy.apply_along_axis lstm_model.save tensorflow.keras.optimizers.RMSprop pygame.joystick.init format print resolution_string.split self.motion_path.rstrip.split tensorflow.contrib.lite.Interpreter.allocate_tensors gray.copy.astype pygame.init cv2.CascadeClassifier cv2.VideoCapture.get numpy.concatenate tensorflow.keras.models.Sequential.add cv2.destroyAllWindows pygame.joystick.Joystick numpy.float32 max collections.deque self.getPose PersonTracker person.PersonTracker self.getPose.replace ListHumans self.faces.append getScreenDims PIL.Image.open pose_model.predict body_dict.items p.stdout.close draw_objects tensorflow.contrib.lite.Interpreter.set_tensor output_data.np.sum.reshape sklearn.model_selection.train_test_split argparse.ArgumentParser.parse_args cv2.line feature_vec.tolist.append list logging.StreamHandler.setFormatter lstm_model tensorflow.keras.layers.Dropout pose.replace.replace.strip dd.find cv2.imshow pandas.read_csv glob.glob torch.device paf.detach tracker_match run_inference coords.np.concatenate.reshape tensorflow.keras.models.load_model.evaluate cv2.contourArea tensorflow.keras.utils.to_categorical faces.FaceDetector.process_frame inference pygame.event.pump image.transforms.functional.to_tensor.to divmod GetKeypoints self.mean.image.sub_.div_ self.pose_model.predict requests.get numpy.flip keras.layers.LSTM logging.getLogger.addHandler trt_pose.parse_objects.ParseObjects pandas.read_csv.pop multiprocessing.cpu_count float aggs cv2.VideoWriter.write logging.getLogger.setLevel logging.getLogger utils.source_capture.release sys.path.append cv2.putText m.reshape round q.ffwd_n_avg.list.np.concatenate.reshape cv2.waitKey random.choice sklearn.pipeline.Pipeline faces.FaceDetector model.lstm_model.compile getKeysByValue img.np.expand_dims.astype DrawObjects numpy.cos augment.to_csv self.interpreter.invoke map self.interpreter.get_tensor.reshape utils.inference.motionClassifier image.np.asarray.astype os.listdir bboxes.append f pprint.pprint image.astype.reshape len cmap.detach.cpu pickle.load.predict cv2.warpAffine torch2trt.TRTModule.load_state_dict id_gen tensorflow.lite.Interpreter ord image.transforms.functional.to_tensor.to.sub_ trt_pose.coco.coco_category_to_topology parse_objects b_idx.data.cpu image.np.zeros_like.astype PoseExtractor.transform paho.mqtt.client.Client.connect utils.get_bbox resolution_string.split.decode lstm_model.evaluate self.model_trt.load_state_dict logging.StreamHandler.setLevel cv2.convertScaleAbs int enumerate tensorflow.keras.layers.Dense apply_vec img.copy self.ffwd_n_avg coords.np.vstack.T.reshape cv2.GaussianBlur self.detector.detectMultiScale paho.mqtt.client.Client.loop_forever paho.mqtt.client.Client.subscribe next numpy.argmax motionClassifier.ft_ext range numpy.expand_dims keras.models.load_model.predict xgboost.XGBClassifier.fit cv2.circle operator.itemgetter load_image feat_array.np.array.squeeze x.reshape csv.writer.writerow cv2.setWindowProperty tensorflow.keras.models.load_model.fit subdir.split PersonTracker.update_pose flow.Flow.run PersonTracker.set_bbox pandas.DataFrame self.motion_path.rstrip numpy.prod FaceDetector torchvision.transforms.functional.to_tensor cv2.GaussianBlur.copy self.result.reshape numpy.zeros_like
@developer Could please help me check this issue? May I pull a request to fix it? Thank you very much.