facebookresearch / SlowFast

PySlowFast: video understanding codebase from FAIR for reproducing state-of-the-art video models.
Apache License 2.0
6.53k stars 1.21k forks source link

AttributeError: 'NoneType' object has no attribute 'dim' #116

Closed ahmadmobeen closed 4 years ago

ahmadmobeen commented 4 years ago

command used : python tools/run_net.py --cfg configs/AVA/C2D_8x8_R50_SHORT.yaml DATA.PATH_TO_DATA_DIR ../AVA\ Actions\ Main/data/ava/ NUM_GPUS 2 TRAIN.BATCH_SIZE 16 AVA.FRAME_LIST_DIR ../AVA\ Actions\ Main/data/ava/frame_lists/ Error: `[INFO: train_net.py: 242]: Train with config: [INFO: train_net.py: 243]: {'AVA': {'ANNOTATION_DIR': '/mnt/vol/gfsai-flash3-east/ai-group/users/haoqifan/ava/frame_list/', 'BGR': False, 'DETECTION_SCORE_THRESH': 0.9, 'EXCLUSION_FILE': 'ava_val_excluded_timestamps_v2.2.csv', 'FRAME_DIR': '/mnt/fair-flash3-east/ava_trainval_frames.img/', 'FRAME_LIST_DIR': '../AVA Actions Main/data/ava/frame_lists/', '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_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]], 'TRAIN_PCA_JITTER_ONLY': True, 'TRAIN_PREDICT_BOX_LISTS': ['ava_train_v2.2.csv', 'person_box_67091280_iou90/ava_detection_train_boxes_and_labels_include_negative_v2.2.csv'], 'TRAIN_USE_COLOR_AUGMENTATION': False}, 'BN': {'EPSILON': 1e-05, 'MOMENTUM': 0.1, 'NUM_BATCHES_PRECISE': 200, 'USE_PRECISE_STATS': False, 'WEIGHT_DECAY': 0.0}, 'DATA': {'CROP_SIZE': 224, 'INPUT_CHANNEL_NUM': [3], 'MEAN': [0.45, 0.45, 0.45], 'NUM_FRAMES': 4, 'PATH_PREFIX': '', 'PATH_TO_DATA_DIR': '../AVA Actions Main/data/ava/', 'SAMPLING_RATE': 16, 'STD': [0.225, 0.225, 0.225], 'TEST_CROP_SIZE': 256, 'TRAIN_CROP_SIZE': 224, 'TRAIN_JITTER_SCALES': [256, 320]}, 'DATA_LOADER': {'ENABLE_MULTI_THREAD_DECODE': False, 'NUM_WORKERS': 2, 'PIN_MEMORY': True}, 'DETECTION': {'ALIGNED': True, 'ENABLE': True, 'ROI_XFORM_RESOLUTION': 7, 'SPATIAL_SCALE_FACTOR': 16}, 'DIST_BACKEND': 'nccl', 'LOG_PERIOD': 10, 'MODEL': {'ARCH': 'slowonly', 'DROPOUT_RATE': 0.5, 'FC_INIT_STD': 0.01, 'LOSS_FUNC': 'bce', 'MODEL_NAME': 'ResNet', 'MULTI_PATHWAY_ARCH': ['slowfast'], 'NUM_CLASSES': 80, 'SINGLE_PATHWAY_ARCH': ['c2d', 'i3d', 'slowonly']}, 'NONLOCAL': {'GROUP': [[1], [1], [1], [1]], 'INSTANTIATION': 'softmax', 'LOCATION': [[[]], [[]], [[]], [[]]], 'POOL': [[[1, 2, 2], [1, 2, 2]], [[1, 2, 2], [1, 2, 2]], [[1, 2, 2], [1, 2, 2]], [[1, 2, 2], [1, 2, 2]]]}, 'NUM_GPUS': 2, 'NUM_SHARDS': 1, 'OUTPUT_DIR': '.', 'RESNET': {'DEPTH': 50, 'INPLACE_RELU': True, 'NUM_BLOCK_TEMP_KERNEL': [[3], [4], [6], [3]], 'NUM_GROUPS': 1, 'SPATIAL_DILATIONS': [[1], [1], [1], [2]], 'SPATIAL_STRIDES': [[1], [2], [2], [1]], 'STRIDE_1X1': False, 'TRANS_FUNC': 'bottleneck_transform', 'WIDTH_PER_GROUP': 64, 'ZERO_INIT_FINAL_BN': True}, 'RNG_SEED': 0, 'SHARD_ID': 0, 'SLOWFAST': {'ALPHA': 8, 'BETA_INV': 8, 'FUSION_CONV_CHANNEL_RATIO': 2, 'FUSION_KERNEL_SZ': 5}, 'SOLVER': {'BASE_LR': 0.1, 'DAMPENING': 0.0, 'GAMMA': 0.1, 'LRS': [1, 0.1, 0.01, 0.001], 'LR_POLICY': 'steps_with_relative_lrs', 'MAX_EPOCH': 20, 'MOMENTUM': 0.9, 'NESTEROV': True, 'OPTIMIZING_METHOD': 'sgd', 'STEPS': [0, 10, 5, 5], 'STEP_SIZE': 1, 'WARMUP_EPOCHS': 5, 'WARMUP_FACTOR': 0.1, 'WARMUP_START_LR': 0.000125, 'WEIGHT_DECAY': 1e-07}, 'TEST': {'BATCH_SIZE': 8, 'CHECKPOINT_FILE_PATH': '', 'CHECKPOINT_TYPE': 'pytorch', 'DATASET': 'ava', 'ENABLE': True, 'NUM_ENSEMBLE_VIEWS': 10, 'NUM_SPATIAL_CROPS': 3}, 'TRAIN': {'AUTO_RESUME': True, 'BATCH_SIZE': 16, 'CHECKPOINT_FILE_PATH': '', 'CHECKPOINT_INFLATE': False, 'CHECKPOINT_PERIOD': 1, 'CHECKPOINT_TYPE': 'caffe2', 'DATASET': 'ava', 'ENABLE': True, 'EVAL_PERIOD': 5}}

DistributedDataParallel( (module): ResNet( (s1): VideoModelStem( (pathway0_stem): ResNetBasicStem( (conv): Conv3d(3, 64, kernel_size=[1, 7, 7], stride=[1, 2, 2], padding=[0, 3, 3], bias=False) (bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) (pool_layer): MaxPool3d(kernel_size=[1, 3, 3], stride=[1, 2, 2], padding=[0, 1, 1], dilation=1, ceil_mode=False) ) ) (s2): ResStage( (pathway0_res0): ResBlock( (branch1): Conv3d(64, 256, kernel_size=(1, 1, 1), stride=[1, 1, 1], bias=False) (branch1_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (branch2): BottleneckTransform( (a): Conv3d(64, 64, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (a_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(64, 64, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(64, 256, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res1): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(256, 64, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (a_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(64, 64, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(64, 256, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res2): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(256, 64, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (a_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(64, 64, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(64, 256, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) ) (pathway0_pool): MaxPool3d(kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], dilation=1, ceil_mode=False) (s3): ResStage( (pathway0_res0): ResBlock( (branch1): Conv3d(256, 512, kernel_size=(1, 1, 1), stride=[1, 2, 2], bias=False) (branch1_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (branch2): BottleneckTransform( (a): Conv3d(256, 128, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (a_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(128, 128, kernel_size=[1, 3, 3], stride=[1, 2, 2], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(128, 512, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res1): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(512, 128, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (a_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(128, 128, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(128, 512, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res2): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(512, 128, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (a_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(128, 128, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(128, 512, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res3): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(512, 128, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (a_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(128, 128, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(128, 512, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) ) (s4): ResStage( (pathway0_res0): ResBlock( (branch1): Conv3d(512, 1024, kernel_size=(1, 1, 1), stride=[1, 2, 2], bias=False) (branch1_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (branch2): BottleneckTransform( (a): Conv3d(512, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False) (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 2, 2], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res1): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False) (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res2): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False) (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res3): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False) (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res4): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False) (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res5): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False) (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False) (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) ) (s5): ResStage( (pathway0_res0): ResBlock( (branch1): Conv3d(1024, 2048, kernel_size=(1, 1, 1), stride=[1, 1, 1], bias=False) (branch1_bn): BatchNorm3d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (branch2): BottleneckTransform( (a): Conv3d(1024, 512, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False) (a_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(512, 512, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 2, 2], dilation=[1, 2, 2], bias=False) (b_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(512, 2048, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res1): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(2048, 512, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False) (a_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(512, 512, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 2, 2], dilation=[1, 2, 2], bias=False) (b_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(512, 2048, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) (pathway0_res2): ResBlock( (branch2): BottleneckTransform( (a): Conv3d(2048, 512, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False) (a_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (a_relu): ReLU(inplace=True) (b): Conv3d(512, 512, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 2, 2], dilation=[1, 2, 2], bias=False) (b_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (b_relu): ReLU(inplace=True) (c): Conv3d(512, 2048, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False) (c_bn): BatchNorm3d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (relu): ReLU(inplace=True) ) ) (head): ResNetRoIHead( (s0_tpool): AvgPool3d(kernel_size=[4, 1, 1], stride=1, padding=0) (s0_roi): ROIAlign(output_size=[7, 7], spatial_scale=0.0625, sampling_ratio=0, aligned=True) (s0_spool): MaxPool2d(kernel_size=[7, 7], stride=1, padding=0, dilation=1, ceil_mode=False) (dropout): Dropout(p=0.5, inplace=False) (projection): Linear(in_features=2048, out_features=80, bias=True) (act): Sigmoid() ) ) ) [INFO: misc.py: 100]: Params: 31,798,416 [INFO: misc.py: 101]: Mem: 245.93603515625 MB /media/vip/Program/mobeen/slowfast/slowfast/models/head_helper.py:111: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs! assert out.shape[2] == 1 Traceback (most recent call last): File "tools/run_net.py", line 152, in main() File "tools/run_net.py", line 124, in main daemon=False, File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 171, in spawn while not spawn_context.join(): File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 118, in join raise Exception(msg) Exception:

-- Process 0 terminated with the following error: Traceback (most recent call last): File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap fn(i, args) File "/media/vip/Program/mobeen/slowfast/slowfast/utils/multiprocessing.py", line 50, in run func(cfg) File "/media/vip/Program/mobeen/slowfast/tools/train_net.py", line 248, in train misc.log_model_info(model, cfg, is_train=True) File "/media/vip/Program/mobeen/slowfast/slowfast/utils/misc.py", line 103, in log_model_info "FLOPs: {:,} GFLOPs".format(get_flop_stats(model, cfg, is_train)) File "/media/vip/Program/mobeen/slowfast/slowfast/utils/misc.py", line 84, in get_flop_stats gflop_dict = flop_count(model, (flop_inputs,), whitelist_ops) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/fvcore/nn/flop_count.py", line 96, in flopcount trace, = torch.jit._get_trace_graph(model, inputs) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/jit/init.py", line 277, in _get_trace_graph outs = ONNXTracedModule(f, _force_outplace, return_inputs, _return_inputs_states)(args, kwargs) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in call result = self.forward(*input, kwargs) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/jit/init.py", line 360, in forward self._force_outplace, File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/jit/init.py", line 347, in wrapper outs.append(self.inner(trace_inputs)) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 530, in call result = self._slow_forward(input, kwargs) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 516, in _slow_forward result = self.forward(*input, kwargs) File "/media/vip/Program/mobeen/slowfast/slowfast/models/video_model_builder.py", line 561, in forward x = self.head(x, bboxes) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 530, in call result = self._slow_forward(*input, kwargs) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 516, in _slow_forward result = self.forward(*input, *kwargs) File "/media/vip/Program/mobeen/slowfast/slowfast/models/head_helper.py", line 115, in forward out = roi_align(out, bboxes) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 530, in call result = self._slow_forward(input, kwargs) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 516, in _slow_forward result = self.forward(*input, **kwargs) File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/detectron2/layers/roi_align.py", line 93, in forward assert rois.dim() == 2 and rois.size(1) == 5 AttributeError: 'NoneType' object has no attribute 'dim'`

haooooooqi commented 4 years ago

Hi, Thanks playing with PuSlowFast, Could you try to pull the latest master and try it again?

ahmadmobeen commented 4 years ago

Hi, thanks for the quick response. I pulled the latest master, only misc.py was updated. I am getting below output.

[INFO: train_net.py:  242]: Train with config:
[INFO: train_net.py:  243]: {'AVA': {'ANNOTATION_DIR': '/mnt/vol/gfsai-flash3-east/ai-group/users/haoqifan/ava/frame_list/',
         'BGR': False,
         'DETECTION_SCORE_THRESH': 0.9,
         'EXCLUSION_FILE': 'ava_val_excluded_timestamps_v2.2.csv',
         'FRAME_DIR': '/mnt/fair-flash3-east/ava_trainval_frames.img/',
         'FRAME_LIST_DIR': '../AVA Actions Main/data/ava/frame_lists/',
         '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_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]],
         'TRAIN_PCA_JITTER_ONLY': True,
         'TRAIN_PREDICT_BOX_LISTS': ['ava_train_v2.2.csv',
                                     'person_box_67091280_iou90/ava_detection_train_boxes_and_labels_include_negative_v2.2.csv'],
         'TRAIN_USE_COLOR_AUGMENTATION': False},
 'BN': {'EPSILON': 1e-05,
        'MOMENTUM': 0.1,
        'NUM_BATCHES_PRECISE': 200,
        'USE_PRECISE_STATS': False,
        'WEIGHT_DECAY': 0.0},
 'DATA': {'CROP_SIZE': 224,
          'INPUT_CHANNEL_NUM': [3],
          'MEAN': [0.45, 0.45, 0.45],
          'NUM_FRAMES': 4,
          'PATH_PREFIX': '',
          'PATH_TO_DATA_DIR': '../AVA Actions Main/data/ava/',
          'SAMPLING_RATE': 16,
          'STD': [0.225, 0.225, 0.225],
          'TEST_CROP_SIZE': 256,
          'TRAIN_CROP_SIZE': 224,
          'TRAIN_JITTER_SCALES': [256, 320]},
 'DATA_LOADER': {'ENABLE_MULTI_THREAD_DECODE': False,
                 'NUM_WORKERS': 2,
                 'PIN_MEMORY': True},
 'DETECTION': {'ALIGNED': True,
               'ENABLE': True,
               'ROI_XFORM_RESOLUTION': 7,
               'SPATIAL_SCALE_FACTOR': 16},
 'DIST_BACKEND': 'nccl',
 'LOG_PERIOD': 10,
 'MODEL': {'ARCH': 'slowonly',
           'DROPOUT_RATE': 0.5,
           'FC_INIT_STD': 0.01,
           'LOSS_FUNC': 'bce',
           'MODEL_NAME': 'ResNet',
           'MULTI_PATHWAY_ARCH': ['slowfast'],
           'NUM_CLASSES': 80,
           'SINGLE_PATHWAY_ARCH': ['c2d', 'i3d', 'slowonly']},
 'NONLOCAL': {'GROUP': [[1], [1], [1], [1]],
              'INSTANTIATION': 'softmax',
              'LOCATION': [[[]], [[]], [[]], [[]]],
              'POOL': [[[1, 2, 2], [1, 2, 2]],
                       [[1, 2, 2], [1, 2, 2]],
                       [[1, 2, 2], [1, 2, 2]],
                       [[1, 2, 2], [1, 2, 2]]]},
 'NUM_GPUS': 2,
 'NUM_SHARDS': 1,
 'OUTPUT_DIR': '.',
 'RESNET': {'DEPTH': 50,
            'INPLACE_RELU': True,
            'NUM_BLOCK_TEMP_KERNEL': [[3], [4], [6], [3]],
            'NUM_GROUPS': 1,
            'SPATIAL_DILATIONS': [[1], [1], [1], [2]],
            'SPATIAL_STRIDES': [[1], [2], [2], [1]],
            'STRIDE_1X1': False,
            'TRANS_FUNC': 'bottleneck_transform',
            'WIDTH_PER_GROUP': 64,
            'ZERO_INIT_FINAL_BN': True},
 'RNG_SEED': 0,
 'SHARD_ID': 0,
 'SLOWFAST': {'ALPHA': 8,
              'BETA_INV': 8,
              'FUSION_CONV_CHANNEL_RATIO': 2,
              'FUSION_KERNEL_SZ': 5},
 'SOLVER': {'BASE_LR': 0.1,
            'DAMPENING': 0.0,
            'GAMMA': 0.1,
            'LRS': [1, 0.1, 0.01, 0.001],
            'LR_POLICY': 'steps_with_relative_lrs',
            'MAX_EPOCH': 20,
            'MOMENTUM': 0.9,
            'NESTEROV': True,
            'OPTIMIZING_METHOD': 'sgd',
            'STEPS': [0, 10, 5, 5],
            'STEP_SIZE': 1,
            'WARMUP_EPOCHS': 5,
            'WARMUP_FACTOR': 0.1,
            'WARMUP_START_LR': 0.000125,
            'WEIGHT_DECAY': 1e-07},
 'TEST': {'BATCH_SIZE': 8,
          'CHECKPOINT_FILE_PATH': '',
          'CHECKPOINT_TYPE': 'pytorch',
          'DATASET': 'ava',
          'ENABLE': True,
          'NUM_ENSEMBLE_VIEWS': 10,
          'NUM_SPATIAL_CROPS': 3},
 'TRAIN': {'AUTO_RESUME': True,
           'BATCH_SIZE': 16,
           'CHECKPOINT_FILE_PATH': '',
           'CHECKPOINT_INFLATE': False,
           'CHECKPOINT_PERIOD': 1,
           'CHECKPOINT_TYPE': 'caffe2',
           'DATASET': 'ava',
           'ENABLE': True,
           'EVAL_PERIOD': 5}}
[INFO: misc.py:  108]: Model:
DistributedDataParallel(
  (module): ResNet(
    (s1): VideoModelStem(
      (pathway0_stem): ResNetBasicStem(
        (conv): Conv3d(3, 64, kernel_size=[1, 7, 7], stride=[1, 2, 2], padding=[0, 3, 3], bias=False)
        (bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (relu): ReLU(inplace=True)
        (pool_layer): MaxPool3d(kernel_size=[1, 3, 3], stride=[1, 2, 2], padding=[0, 1, 1], dilation=1, ceil_mode=False)
      )
    )
    (s2): ResStage(
      (pathway0_res0): ResBlock(
        (branch1): Conv3d(64, 256, kernel_size=(1, 1, 1), stride=[1, 1, 1], bias=False)
        (branch1_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (branch2): BottleneckTransform(
          (a): Conv3d(64, 64, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (a_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(64, 64, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(64, 256, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res1): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(256, 64, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (a_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(64, 64, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(64, 256, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res2): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(256, 64, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (a_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(64, 64, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(64, 256, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
    )
    (pathway0_pool): MaxPool3d(kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], dilation=1, ceil_mode=False)
    (s3): ResStage(
      (pathway0_res0): ResBlock(
        (branch1): Conv3d(256, 512, kernel_size=(1, 1, 1), stride=[1, 2, 2], bias=False)
        (branch1_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (branch2): BottleneckTransform(
          (a): Conv3d(256, 128, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (a_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(128, 128, kernel_size=[1, 3, 3], stride=[1, 2, 2], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(128, 512, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res1): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(512, 128, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (a_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(128, 128, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(128, 512, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res2): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(512, 128, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (a_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(128, 128, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(128, 512, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res3): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(512, 128, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (a_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(128, 128, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(128, 512, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
    )
    (s4): ResStage(
      (pathway0_res0): ResBlock(
        (branch1): Conv3d(512, 1024, kernel_size=(1, 1, 1), stride=[1, 2, 2], bias=False)
        (branch1_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (branch2): BottleneckTransform(
          (a): Conv3d(512, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False)
          (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 2, 2], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res1): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False)
          (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res2): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False)
          (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res3): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False)
          (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res4): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False)
          (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res5): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(1024, 256, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False)
          (a_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(256, 256, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 1, 1], dilation=[1, 1, 1], bias=False)
          (b_bn): BatchNorm3d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(256, 1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
    )
    (s5): ResStage(
      (pathway0_res0): ResBlock(
        (branch1): Conv3d(1024, 2048, kernel_size=(1, 1, 1), stride=[1, 1, 1], bias=False)
        (branch1_bn): BatchNorm3d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (branch2): BottleneckTransform(
          (a): Conv3d(1024, 512, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False)
          (a_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(512, 512, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 2, 2], dilation=[1, 2, 2], bias=False)
          (b_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(512, 2048, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res1): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(2048, 512, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False)
          (a_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(512, 512, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 2, 2], dilation=[1, 2, 2], bias=False)
          (b_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(512, 2048, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
      (pathway0_res2): ResBlock(
        (branch2): BottleneckTransform(
          (a): Conv3d(2048, 512, kernel_size=[3, 1, 1], stride=[1, 1, 1], padding=[1, 0, 0], bias=False)
          (a_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (a_relu): ReLU(inplace=True)
          (b): Conv3d(512, 512, kernel_size=[1, 3, 3], stride=[1, 1, 1], padding=[0, 2, 2], dilation=[1, 2, 2], bias=False)
          (b_bn): BatchNorm3d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (b_relu): ReLU(inplace=True)
          (c): Conv3d(512, 2048, kernel_size=[1, 1, 1], stride=[1, 1, 1], padding=[0, 0, 0], bias=False)
          (c_bn): BatchNorm3d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        )
        (relu): ReLU(inplace=True)
      )
    )
    (head): ResNetRoIHead(
      (s0_tpool): AvgPool3d(kernel_size=[4, 1, 1], stride=1, padding=0)
      (s0_roi): ROIAlign(output_size=[7, 7], spatial_scale=0.0625, sampling_ratio=0, aligned=True)
      (s0_spool): MaxPool2d(kernel_size=[7, 7], stride=1, padding=0, dilation=1, ceil_mode=False)
      (dropout): Dropout(p=0.5, inplace=False)
      (projection): Linear(in_features=2048, out_features=80, bias=True)
      (act): Sigmoid()
    )
  )
)
[INFO: misc.py:  109]: Params: 31,798,416
[INFO: misc.py:  110]: Mem: 245.93603515625 MB
/media/vip/Program/mobeen/slowfast/slowfast/models/head_helper.py:111: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert out.shape[2] == 1
/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/detectron2/layers/roi_align.py:93: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert rois.dim() == 2 and rois.size(1) == 5
Traceback (most recent call last):
  File "tools/run_net.py", line 152, in <module>
    main()
  File "tools/run_net.py", line 124, in main
    daemon=False,
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 171, in spawn
    while not spawn_context.join():
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 118, in join
    raise Exception(msg)
Exception: 

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap
    fn(i, *args)
  File "/media/vip/Program/mobeen/slowfast/slowfast/utils/multiprocessing.py", line 50, in run
    func(cfg)
  File "/media/vip/Program/mobeen/slowfast/tools/train_net.py", line 248, in train
    misc.log_model_info(model, cfg, is_train=True)
  File "/media/vip/Program/mobeen/slowfast/slowfast/utils/misc.py", line 112, in log_model_info
    "FLOPs: {:,} GFLOPs".format(get_flop_stats(model, cfg, is_train))
  File "/media/vip/Program/mobeen/slowfast/slowfast/utils/misc.py", line 93, in get_flop_stats
    gflop_dict = flop_count(model, inputs, whitelist_ops)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/fvcore/nn/flop_count.py", line 96, in flop_count
    trace, _ = torch.jit._get_trace_graph(model, inputs)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/jit/__init__.py", line 277, in _get_trace_graph
    outs = ONNXTracedModule(f, _force_outplace, return_inputs, _return_inputs_states)(*args, **kwargs)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/jit/__init__.py", line 360, in forward
    self._force_outplace,
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/jit/__init__.py", line 347, in wrapper
    outs.append(self.inner(*trace_inputs))
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 530, in __call__
    result = self._slow_forward(*input, **kwargs)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 516, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/media/vip/Program/mobeen/slowfast/slowfast/models/video_model_builder.py", line 561, in forward
    x = self.head(x, bboxes)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 530, in __call__
    result = self._slow_forward(*input, **kwargs)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 516, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/media/vip/Program/mobeen/slowfast/slowfast/models/head_helper.py", line 115, in forward
    out = roi_align(out, bboxes)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 530, in __call__
    result = self._slow_forward(*input, **kwargs)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 516, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/detectron2/layers/roi_align.py", line 95, in forward
    input, rois, self.output_size, self.spatial_scale, self.sampling_ratio, self.aligned
  File "/home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/detectron2/layers/roi_align.py", line 20, in forward
    input, roi, spatial_scale, output_size[0], output_size[1], sampling_ratio, aligned
RuntimeError: Not compiled with GPU support (ROIAlign_forward at /tmp/pip-req-build-gts7ibn4/detectron2/layers/csrc/ROIAlign/ROIAlign.h:73)
frame #0: c10::Error::Error(c10::SourceLocation, std::string const&) + 0x47 (0x7fdd165f3627 in /home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/lib/libc10.so)
frame #1: detectron2::ROIAlign_forward(at::Tensor const&, at::Tensor const&, float, int, int, int, bool) + 0x171 (0x7fdce84eaf71 in /home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/detectron2/_C.cpython-37m-x86_64-linux-gnu.so)
frame #2: <unknown function> + 0x1fb2a (0x7fdce84fab2a in /home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/detectron2/_C.cpython-37m-x86_64-linux-gnu.so)
frame #3: <unknown function> + 0x1abe0 (0x7fdce84f5be0 in /home/vip/anaconda3/envs/pytorch/lib/python3.7/site-packages/detectron2/_C.cpython-37m-x86_64-linux-gnu.so)
haooooooqi commented 4 years ago

Hi

Thanks for playing with PySlowFast :P Seems the issue you shared is caused by an incorrect installation of Detectron2. Seems this is a frequently reported issue in Detectron2 and I feel you should able to fix it following the link here