facebookresearch / facebookresearch/SlowFast

met problem when running on CPU "AttributeError: 'Predictor' object has no attribute 'gpu_id'"

Open
#666 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
7.4k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

Hey Professional friends:
I run SlowFast on Apple Macbook, which is only CPU + AMD GPU. no cuda.
I modified NUM_GPUS: 0.
then
python tools/run_net.py --cfg demo/AVA/SLOWFAST_32x2_R101_50_50.yaml

met 2 failures:
1. self.object_detector = Detectron2Predictor(cfg, gpu_id=self.gpu_id)
AttributeError: 'Predictor' object has no attribute 'gpu_id'

2. in the end.
self._semlock = _multiprocessing.SemLock._rebuild(*state)
FileNotFoundError: [Errno 2] No such file or directory

**-- please tell me what I can do to compile and run SlowFast on CPU. Thanks!**

(venv) (base) ligang@lis-macbook-pro SlowFast %
(venv) (base) ligang@lis-macbook-pro SlowFast %
(venv) (base) ligang@lis-macbook-pro SlowFast % python tools/run_net.py --cfg demo/AVA/SLOWFAST_32x2_R101_50_50.yaml
/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/torchvision/transforms/functional_tensor.py:5: UserWarning: The torchvision.transforms.functional_tensor module is deprecated in 0.15 and will be **removed in 0.17**. Please don't rely on it. You probably just need to use APIs in torchvision.transforms.functional or in torchvision.transforms.v2.functional.
warnings.warn(
/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/torchvision/transforms/_functional_video.py:6: UserWarning: The 'torchvision.transforms._functional_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms.functional' module instead.
warnings.warn(
/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/torchvision/transforms/_transforms_video.py:22: UserWarning: The 'torchvision.transforms._transforms_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms' module instead.
warnings.warn(
config files: ['demo/AVA/SLOWFAST_32x2_R101_50_50.yaml']
0it [00:00, ?it/s][08/08 23:23:09][INFO] demo_net.py: 37: Run demo with config:
[08/08 23:23:09][INFO] demo_net.py: 38: AUG:
AA_TYPE: rand-m9-mstd0.5-inc1
COLOR_JITTER: 0.4
ENABLE: False
GEN_MASK_LOADER: False
INTERPOLATION: bicubic
MASK_FRAMES: False
MASK_RATIO: 0.0
MASK_TUBE: False
MASK_WINDOW_SIZE: [8, 7, 7]
MAX_MASK_PATCHES_PER_BLOCK: None
NUM_SAMPLE: 1
RE_COUNT: 1
RE_MODE: pixel
RE_PROB: 0.25
RE_SPLIT: False
AVA:
ANNOTATION_DIR: /mnt/vol/gfsai-flash3-east/ai-group/users/haoqifan/ava/frame_list/
BGR: False
DETECTION_SCORE_THRESH: 0.8
EXCLUSION_FILE: ava_val_excluded_timestamps_v2.2.csv
FRAME_DIR: /mnt/fair-flash3-east/ava_trainval_frames.img/
FRAME_LIST_DIR: /mnt/vol/gfsai-flash3-east/ai-group/users/haoqifan/ava/frame_list/
FULL_TEST_ON_VAL: False
GROUNDTRUTH_FILE: ava_val_v2.2.csv
IMG_PROC_BACKEND: cv2
LABEL_MAP_FILE: ava_action_list_v2.2_for_activitynet_2019.pbtxt
TEST_FORCE_FLIP: False
TEST_LISTS: ['val.csv']
TEST_PREDICT_BOX_LISTS: ['person_box_67091280_iou90/ava_detection_val_boxes_and_labels.csv']
TRAIN_GT_BOX_LISTS: ['ava_train_v2.2.csv']
TRAIN_LISTS: ['train.csv']
TRAIN_PCA_JITTER_ONLY: True
TRAIN_PREDICT_BOX_LISTS: []
TRAIN_USE_COLOR_AUGMENTATION: False
BENCHMARK:
LOG_PERIOD: 100
NUM_EPOCHS: 5
SHUFFLE: True
BN:
GLOBAL_SYNC: False
NORM_TYPE: batchnorm
NUM_BATCHES_PRECISE: 200
NUM_SPLITS: 1
NUM_SYNC_DEVICES: 1
USE_PRECISE_STATS: False
WEIGHT_DECAY: 0.0
CONTRASTIVE:
BN_MLP: False
BN_SYNC_MLP: False
DELTA_CLIPS_MAX: inf
DELTA_CLIPS_MIN: -inf
DIM: 128
INTERP_MEMORY: False
KNN_ON: True
LENGTH: 239975
LOCAL_SHUFFLE_BN: True
MEM_TYPE: 1d
MLP_DIM: 2048
MOCO_MULTI_VIEW_QUEUE: False
MOMENTUM: 0.5
MOMENTUM_ANNEALING: False
NUM_CLASSES_DOWNSTREAM: 400
NUM_MLP_LAYERS: 1
PREDICTOR_DEPTHS: []
QUEUE_LEN: 65536
SEQUENTIAL: False
SIMCLR_DIST_ON: True
SWAV_QEUE_LEN: 0
T: 0.07
TYPE: mem
DATA:
COLOR_RND_GRAYSCALE: 0.0
DECODING_BACKEND: torchvision
DECODING_SHORT_SIZE: 256
DUMMY_LOAD: False
ENSEMBLE_METHOD: sum
IN22K_TRAINVAL: False
IN22k_VAL_IN1K:
INPUT_CHANNEL_NUM: [3, 3]
INV_UNIFORM_SAMPLE: False
IN_VAL_CROP_RATIO: 0.875
LOADER_CHUNK_OVERALL_SIZE: 0
LOADER_CHUNK_SIZE: 0
MEAN: [0.45, 0.45, 0.45]
MULTI_LABEL: False
NUM_FRAMES: 32
PATH_LABEL_SEPARATOR:
PATH_PREFIX:
PATH_TO_DATA_DIR:
PATH_TO_PRELOAD_IMDB:
RANDOM_FLIP: True
REVERSE_INPUT_CHANNEL: False
SAMPLING_RATE: 2
SKIP_ROWS: 0
SSL_BLUR_SIGMA_MAX: [0.0, 2.0]
SSL_BLUR_SIGMA_MIN: [0.0, 0.1]
SSL_COLOR_BRI_CON_SAT: [0.4, 0.4, 0.4]
SSL_COLOR_HUE: 0.1
SSL_COLOR_JITTER: False
SSL_MOCOV2_AUG: False
STD: [0.225, 0.225, 0.225]
TARGET_FPS: 30
TEST_CROP_SIZE: 256
TIME_DIFF_PROB: 0.0
TRAIN_CROP_NUM_SPATIAL: 1
TRAIN_CROP_NUM_TEMPORAL: 1
TRAIN_CROP_SIZE: 224
TRAIN_JITTER_ASPECT_RELATIVE: []
TRAIN_JITTER_FPS: 0.0
TRAIN_JITTER_MOTION_SHIFT: False
TRAIN_JITTER_SCALES: [256, 320]
TRAIN_JITTER_SCALES_RELATIVE: []
TRAIN_PCA_EIGVAL: [0.225, 0.224, 0.229]
TRAIN_PCA_EIGVEC: [[-0.5675, 0.7192, 0.4009], [-0.5808, -0.0045, -0.814], [-0.5836, -0.6948, 0.4203]]
USE_OFFSET_SAMPLING: False
DATA_LOADER:
ENABLE_MULTI_THREAD_DECODE: False
NUM_WORKERS: 2
PIN_MEMORY: True
DEMO:
BUFFER_SIZE: 0
CLIP_VIS_SIZE: 10
COMMON_CLASS_NAMES: ['watch (a person)', 'talk to (e.g., self, a person, a group)', 'listen to (a person)', 'touch (an object)', 'carry/hold (an object)', 'walk', 'sit', 'lie/sleep', 'bend/bow (at the waist)']
COMMON_CLASS_THRES: 0.7
DETECTRON2_CFG: COCO-Detection/faster_rcnn_R_50_FPN_3x.yaml
DETECTRON2_THRESH: 0.9
DETECTRON2_WEIGHTS: detectron2://COCO-Detection/faster_rcnn_R_50_FPN_3x/137849458/model_final_280758.pkl
DISPLAY_HEIGHT: 0
DISPLAY_WIDTH: 0
ENABLE: True
FPS: 30
GT_BOXES:
INPUT_FORMAT: BGR
INPUT_VIDEO: /Users/ligang/LearningApp/drowning-detection/input/4565-medium.mp4
LABEL_FILE_PATH: /Users/ligang/LearningApp/drowning-detection/SlowFast/demo/AVA/ava.json
NUM_CLIPS_SKIP: 0
NUM_VIS_INSTANCES: 2
OUTPUT_FILE: /Users/ligang/LearningApp/drowning-detection/input/4565-output.mp4
OUTPUT_FPS: -1
PREDS_BOXES:
SLOWMO: 1
STARTING_SECOND: 900
THREAD_ENABLE: False
UNCOMMON_CLASS_THRES: 0.3
VIS_MODE: thres
WEBCAM: -1
DETECTION:
ALIGNED: False
ENABLE: True
ROI_XFORM_RESOLUTION: 7
SPATIAL_SCALE_FACTOR: 16
DIST_BACKEND: nccl
LOG_MODEL_INFO: True
LOG_PERIOD: 10
MASK:
DECODER_DEPTH: 0
DECODER_EMBED_DIM: 512
DECODER_SEP_POS_EMBED: False
DEC_KV_KERNEL: []
DEC_KV_STRIDE: []
ENABLE: False
HEAD_TYPE: separate
MAE_ON: False
MAE_RND_MASK: False
NORM_PRED_PIXEL: True
PER_FRAME_MASKING: False
PRED_HOG: False
PRETRAIN_DEPTH: [15]
SCALE_INIT_BY_DEPTH: False
TIME_STRIDE_LOSS: True
MIXUP:
ALPHA: 0.8
CUTMIX_ALPHA: 1.0
ENABLE: False
LABEL_SMOOTH_VALUE: 0.1
PROB: 1.0
SWITCH_PROB: 0.5
MODEL:
ACT_CHECKPOINT: False
ARCH: slowfast
DETACH_FINAL_FC: False
DROPCONNECT_RATE: 0.0
DROPOUT_RATE: 0.5
FC_INIT_STD: 0.01
FP16_ALLREDUCE: False
FROZEN_BN: False
HEAD_ACT: sigmoid
LOSS_FUNC: bce
MODEL_NAME: SlowFast
MULTI_PATHWAY_ARCH: ['slowfast']
NUM_CLASSES: 80
SINGLE_PATHWAY_ARCH: ['2d', 'c2d', 'i3d', 'slow', 'x3d', 'mvit', 'maskmvit']
MULTIGRID:
BN_BASE_SIZE: 8
DEFAULT_B: 0
DEFAULT_S: 0
DEFAULT_T: 0
EPOCH_FACTOR: 1.5
EVAL_FREQ: 3
LONG_CYCLE: False
LONG_CYCLE_FACTORS: [(0.25, 0.7071067811865476), (0.5, 0.7071067811865476), (0.5, 1), (1, 1)]
LONG_CYCLE_SAMPLING_RATE: 0
SHORT_CYCLE: False
SHORT_CYCLE_FACTORS: [0.5, 0.7071067811865476]
MVIT:
CLS_EMBED_ON: True
DEPTH: 16
DIM_MUL: []
DIM_MUL_IN_ATT: False
DROPOUT_RATE: 0.0
DROPPATH_RATE: 0.1
EMBED_DIM: 96
HEAD_INIT_SCALE: 1.0
HEAD_MUL: []
LAYER_SCALE_INIT_VALUE: 0.0
MLP_RATIO: 4.0
MODE: conv
NORM: layernorm
NORM_STEM: False
NUM_HEADS: 1
PATCH_2D: False
PATCH_KERNEL: [3, 7, 7]
PATCH_PADDING: [2, 4, 4]
PATCH_STRIDE: [2, 4, 4]
POOL_FIRST: False
POOL_KVQ_KERNEL: None
POOL_KV_STRIDE: []
POOL_KV_STRIDE_ADAPTIVE: None
POOL_Q_STRIDE: []
QKV_BIAS: True
REL_POS_SPATIAL: False
REL_POS_TEMPORAL: False
REL_POS_ZERO_INIT: False
RESIDUAL_POOLING: False
REV:
BUFFER_LAYERS: []
ENABLE: False
PRE_Q_FUSION: avg
RESPATH_FUSE: concat
RES_PATH: conv
SEPARATE_QKV: False
SEP_POS_EMBED: False
USE_ABS_POS: True
USE_FIXED_SINCOS_POS: False
USE_MEAN_POOLING: False
ZERO_DECAY_POS_CLS: True
NONLOCAL:
GROUP: [[1, 1], [1, 1], [1, 1], [1, 1]]
INSTANTIATION: dot_product
LOCATION: [[[], []], [[], []], [[6, 13, 20], []], [[], []]]
POOL: [[[2, 2, 2], [2, 2, 2]], [[2, 2, 2], [2, 2, 2]], [[2, 2, 2], [2, 2, 2]], [[2, 2, 2], [2, 2, 2]]]
NUM_GPUS: 0
NUM_SHARDS: 1
OUTPUT_DIR: .
RESNET:
DEPTH: 101
INPLACE_RELU: True
NUM_BLOCK_TEMP_KERNEL: [[3, 3], [4, 4], [6, 6], [3, 3]]
NUM_GROUPS: 1
SPATIAL_DILATIONS: [[1, 1], [1, 1], [1, 1], [2, 2]]
SPATIAL_STRIDES: [[1, 1], [2, 2], [2, 2], [1, 1]]
STRIDE_1X1: False
TRANS_FUNC: bottleneck_transform
WIDTH_PER_GROUP: 64
ZERO_INIT_FINAL_BN: True
ZERO_INIT_FINAL_CONV: False
RNG_SEED: 0
SHARD_ID: 0
SLOWFAST:
ALPHA: 4
BETA_INV: 8
FUSION_CONV_CHANNEL_RATIO: 2
FUSION_KERNEL_SZ: 5
SOLVER:
BASE_LR: 0.1
BASE_LR_SCALE_NUM_SHARDS: False
BETAS: (0.9, 0.999)
CLIP_GRAD_L2NORM: None
CLIP_GRAD_VAL: None
COSINE_AFTER_WARMUP: False
COSINE_END_LR: 0.0
DAMPENING: 0.0
GAMMA: 0.1
LARS_ON: False
LAYER_DECAY: 1.0
LRS: []
LR_POLICY: cosine
MAX_EPOCH: 300
MOMENTUM: 0.9
NESTEROV: True
OPTIMIZING_METHOD: sgd
STEPS: []
STEP_SIZE: 1
WARMUP_EPOCHS: 0.0
WARMUP_FACTOR: 0.1
WARMUP_START_LR: 0.01
WEIGHT_DECAY: 1e-07
ZERO_WD_1D_PARAM: False
TASK:
TENSORBOARD:
CATEGORIES_PATH:
CLASS_NAMES_PATH:
CONFUSION_MATRIX:
ENABLE: False
FIGSIZE: [8, 8]
SUBSET_PATH:
ENABLE: False
HISTOGRAM:
ENABLE: False
FIGSIZE: [8, 8]
SUBSET_PATH:
TOPK: 10
LOG_DIR:
MODEL_VIS:
ACTIVATIONS: False
COLORMAP: Pastel2
ENABLE: False
GRAD_CAM:
COLORMAP: viridis
ENABLE: True
LAYER_LIST: []
USE_TRUE_LABEL: False
INPUT_VIDEO: False
LAYER_LIST: []
MODEL_WEIGHTS: False
TOPK_PREDS: 1
PREDICTIONS_PATH:
WRONG_PRED_VIS:
ENABLE: False
SUBSET_PATH:
TAG: Incorrectly classified videos.
TEST:
BATCH_SIZE: 8
CHECKPOINT_FILE_PATH:
CHECKPOINT_TYPE: pytorch
DATASET: ava
ENABLE: False
NUM_ENSEMBLE_VIEWS: 10
NUM_SPATIAL_CROPS: 3
NUM_TEMPORAL_CLIPS: []
SAVE_RESULTS_PATH:
TRAIN:
AUTO_RESUME: True
BATCH_SIZE: 16
CHECKPOINT_CLEAR_NAME_PATTERN: ()
CHECKPOINT_EPOCH_RESET: False
CHECKPOINT_FILE_PATH: ./SLOWFAST_32x2_R101_50_50.pkl
CHECKPOINT_INFLATE: False
CHECKPOINT_IN_INIT: False
CHECKPOINT_PERIOD: 1
CHECKPOINT_TYPE: pytorch
DATASET: ava
ENABLE: False
EVAL_PERIOD: 1
KILL_LOSS_EXPLOSION_FACTOR: 0.0
MIXED_PRECISION: False
VIS_MASK:
ENABLE: False
X3D:
BN_LIN5: False
BOTTLENECK_FACTOR: 1.0
CHANNELWISE_3x3x3: True
DEPTH_FACTOR: 1.0
DIM_C1: 12
DIM_C5: 2048
SCALE_RES2: False
WIDTH_FACTOR: 1.0
0it [00:01, ?it/s]
Traceback (most recent call last):
File "tools/run_net.py", line 52, in
main()
File "tools/run_net.py", line 48, in main
demo(cfg)
File "/Users/ligang/LearningApp/drowning-detection/SlowFast/tools/demo_net.py", line 114, in demo
for task in tqdm.tqdm(run_demo(cfg, frame_provider)):
File "/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/tqdm/std.py", line 1178, in __iter__
for obj in iterable:
File "/Users/ligang/LearningApp/drowning-detection/SlowFast/tools/demo_net.py", line 59, in run_demo
model = ActionPredictor(cfg=cfg, async_vis=async_vis)
File "/Users/ligang/LearningApp/drowning-detection/SlowFast/slowfast/visualization/predictor.py", line 132, in __init__
self.predictor = Predictor(cfg=cfg, gpu_id=gpu_id)
File "/Users/ligang/LearningApp/drowning-detection/SlowFast/slowfast/visualization/predictor.py", line 43, in __init__
**self.object_detector = Detectron2Predictor(cfg, gpu_id=self.gpu_id)
AttributeError: 'Predictor' object has no attribute 'gpu_id'**
/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/torchvision/transforms/functional_tensor.py:5: UserWarning: The torchvision.transforms.functional_tensor module is deprecated in 0.15 and will be **removed in 0.17**. Please don't rely on it. You probably just need to use APIs in torchvision.transforms.functional or in torchvision.transforms.v2.functional.
warnings.warn(
/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/torchvision/transforms/functional_tensor.py:5: UserWarning: The torchvision.transforms.functional_tensor module is deprecated in 0.15 and will be **removed in 0.17**. Please don't rely on it. You probably just need to use APIs in torchvision.transforms.functional or in torchvision.transforms.v2.functional.
warnings.warn(
/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/torchvision/transforms/_functional_video.py:6: UserWarning: The 'torchvision.transforms._functional_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms.functional' module instead.
warnings.warn(
/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/torchvision/transforms/_functional_video.py:6: UserWarning: The 'torchvision.transforms._functional_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms.functional' module instead.
warnings.warn(
/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/torchvision/transforms/_transforms_video.py:22: UserWarning: The 'torchvision.transforms._transforms_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms' module instead.
warnings.warn(
/Users/ligang/LearningApp/drowning-detection/venv/lib/python3.8/site-packages/torchvision/transforms/_transforms_video.py:22: UserWarning: The 'torchvision.transforms._transforms_video' module is deprecated since 0.12 and will be removed in the future. Please use the 'torchvision.transforms' module instead.
warnings.warn(
Traceback (most recent call last):
File "", line 1, in
Traceback (most recent call last):
File "", line 1, in
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/spawn.py", line 116, in spawn_main
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/spawn.py", line 116, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/spawn.py", line 126, in _main
exitcode = _main(fd, parent_sentinel)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/spawn.py", line 126, in _main
self = reduction.pickle.load(from_parent)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/synchronize.py", line 110, in __setstate__
self = reduction.pickle.load(from_parent)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/synchronize.py", line 110, in __setstate__
**self._semlock = _multiprocessing.SemLock._rebuild(*state)
FileNotFoundError: [Errno 2] No such file or directory**
self._semlock = _multiprocessing.SemLock._rebuild(*state)
FileNotFoundError: [Errno 2] No such file or directory

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.