(base) mona@mona:~/research$ git clone https://github.com/yinyunie/Total3DUnderstanding.git Cloning into 'Total3DUnderstanding'... remote: Enumerating objects: 206, done. remote: Counting objects: 100% (206/206), done. remote: Compressing objects: 100% (181/181), done. remote: Total 206 (delta 31), reused 192 (delta 20), pack-reused 0 Receiving objects: 100% (206/206), 4.23 MiB | 19.59 MiB/s, done. Resolving deltas: 100% (31/31), done. (base) mona@mona:~/research$ cd Total3DUnderstanding/ (base) mona@mona:~/research/Total3DUnderstanding$ conda env create -f environment.yml Collecting package metadata (repodata.json): done Solving environment: done Downloading and Extracting Packages numpy-1.18.1 | 5 KB | ################################################# | 100% torchvision-0.3.0 | 3.7 MB | ################################################# | 100% cffi-1.14.0 | 225 KB | ################################################# | 100% cudatoolkit-9.0 | 237.0 MB | ################################################# | 100% libxml2-2.9.10 | 1.2 MB | ################################################# | 100% six-1.15.0 | 27 KB | ################################################# | 100% libnetcdf-4.6.1 | 833 KB | ################################################# | 100% pillow-7.1.2 | 604 KB | ################################################# | 100% jsoncpp-1.8.4 | 132 KB | ################################################# | 100% python-dateutil-2.8. | 215 KB | ################################################# | 100% ninja-1.9.0 | 1.2 MB | ################################################# | 100% future-0.18.2 | 639 KB | ################################################# | 100% hdf4-4.2.13 | 714 KB | ################################################# | 100% pytorch-1.1.0 | 377.0 MB | ################################################# | 100% pyyaml-5.3.1 | 180 KB | ################################################# | 100% mkl_random-1.1.1 | 327 KB | ################################################# | 100% pandas-1.0.5 | 7.8 MB | ################################################# | 100% olefile-0.46 | 48 KB | ################################################# | 100% shapely-1.7.0 | 394 KB | ################################################# | 100% libcurl-7.69.1 | 431 KB | ################################################# | 100% vtk-8.2.0 | 28.4 MB | ################################################# | 100% libogg-1.3.2 | 194 KB | ################################################# | 100% sqlite-3.31.1 | 1.1 MB | ################################################# | 100% mkl-service-2.3.0 | 52 KB | ################################################# | 100% libtheora-1.1.1 | 330 KB | ################################################# | 100% libvorbis-1.3.6 | 389 KB | ################################################# | 100% mkl_fft-1.0.15 | 155 KB | ################################################# | 100% numpy-base-1.18.1 | 4.2 MB | ################################################# | 100% scipy-1.4.1 | 14.6 MB | ################################################# | 100% curl-7.69.1 | 137 KB | ################################################# | 100% setuptools-47.1.1 | 514 KB | ################################################# | 100% pip-20.0.2 | 1.7 MB | ################################################# | 100% certifi-2020.6.20 | 155 KB | ################################################# | 100% Preparing transaction: done Verifying transaction: done Executing transaction: done Installing pip dependencies: / Ran pip subprocess with arguments: ['/home/mona/anaconda3/envs/Total3D/bin/python', '-m', 'pip', 'install', '-U', '-r', '/home/mona/research/Total3DUnderstanding/condaenv.usbz06he.requirements.txt'] Pip subprocess output: Collecting cycler==0.10.0 Using cached cycler-0.10.0-py2.py3-none-any.whl (6.5 kB) Collecting jellyfish==0.8.2 Downloading jellyfish-0.8.2-cp36-cp36m-manylinux2014_x86_64.whl (93 kB) Collecting kiwisolver==1.2.0 Using cached kiwisolver-1.2.0-cp36-cp36m-manylinux1_x86_64.whl (88 kB) Collecting matplotlib==3.2.2 Downloading matplotlib-3.2.2-cp36-cp36m-manylinux1_x86_64.whl (12.4 MB) Collecting opencv-python==4.2.0.34 Downloading opencv_python-4.2.0.34-cp36-cp36m-manylinux1_x86_64.whl (28.2 MB) Collecting pyparsing==2.4.7 Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) Collecting seaborn==0.10.1 Using cached seaborn-0.10.1-py3-none-any.whl (215 kB) Requirement already satisfied, skipping upgrade: six in /home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages (from cycler==0.10.0->-r /home/mona/research/Total3DUnderstanding/condaenv.usbz06he.requirements.txt (line 1)) (1.15.0) Requirement already satisfied, skipping upgrade: numpy>=1.11 in /home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages (from matplotlib==3.2.2->-r /home/mona/research/Total3DUnderstanding/condaenv.usbz06he.requirements.txt (line 4)) (1.18.1) Requirement already satisfied, skipping upgrade: python-dateutil>=2.1 in /home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages (from matplotlib==3.2.2->-r /home/mona/research/Total3DUnderstanding/condaenv.usbz06he.requirements.txt (line 4)) (2.8.1) Requirement already satisfied, skipping upgrade: scipy>=1.0.1 in /home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages (from seaborn==0.10.1->-r /home/mona/research/Total3DUnderstanding/condaenv.usbz06he.requirements.txt (line 7)) (1.4.1) Requirement already satisfied, skipping upgrade: pandas>=0.22.0 in /home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages (from seaborn==0.10.1->-r /home/mona/research/Total3DUnderstanding/condaenv.usbz06he.requirements.txt (line 7)) (1.0.5) Requirement already satisfied, skipping upgrade: pytz>=2017.2 in /home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages (from pandas>=0.22.0->seaborn==0.10.1->-r /home/mona/research/Total3DUnderstanding/condaenv.usbz06he.requirements.txt (line 7)) (2020.1) Installing collected packages: cycler, jellyfish, kiwisolver, pyparsing, matplotlib, opencv-python, seaborn Successfully installed cycler-0.10.0 jellyfish-0.8.2 kiwisolver-1.2.0 matplotlib-3.2.2 opencv-python-4.2.0.34 pyparsing-2.4.7 seaborn-0.10.1 done # # To activate this environment, use # # $ conda activate Total3D # # To deactivate an active environment, use # # $ conda deactivate (base) mona@mona:~/research/Total3DUnderstanding$ conda activate Total3D (Total3D) mona@mona:~/research/Total3DUnderstanding$ python main.py configs/total3d.yaml --mode demo --demo_path demo/inputs/1 Loading configurations. {'method': 'TOTAL3D', 'resume': False, 'finetune': True, 'weight': ['out/pretrained_models/pretrained_model.pth'], 'seed': 123, 'device': {'use_gpu': True, 'gpu_ids': '0', 'num_workers': 2}, 'data': {'dataset': 'sunrgbd', 'split': 'data/sunrgbd/splits', 'tmn_subnetworks': 2, 'face_samples': 1, 'with_edge_classifier': True}, 'model': {'layout_estimation': {'method': 'PoseNet', 'loss': 'PoseLoss'}, 'object_detection': {'method': 'Bdb3DNet', 'loss': 'DetLoss'}, 'mesh_reconstruction': {'method': 'DensTMNet', 'loss': 'ReconLoss'}}, 'optimizer': {'method': 'Adam', 'lr': '1e-4', 'betas': [0.9, 0.999], 'eps': '1e-08', 'weight_decay': '1e-04'}, 'scheduler': {'patience': 5, 'factor': 0.5, 'threshold': 0.01}, 'train': {'epochs': 400, 'phase': 'joint', 'freeze': ['mesh_reconstruction'], 'batch_size': 2}, 'test': {'phase': 'joint', 'batch_size': 2}, 'demo': {'phase': 'joint'}, 'log': {'vis_path': 'out/total3d/2020-12-09T15:00:36.822598/visualization', 'save_results': True, 'vis_step': 100, 'print_step': 50, 'path': 'out/total3d/2020-12-09T15:00:36.822598'}, 'config': 'configs/total3d.yaml', 'mode': 'demo', 'demo_path': 'demo/inputs/1'} Data save path: out/total3d/2020-12-09T15:00:36.822598 Loading device settings. GPU mode is on. GPU Ids: 0 used. Loading model. Downloading: "https://download.pytorch.org/models/resnet34-333f7ec4.pth" to /home/mona/.cache/torch/checkpoints/resnet34-333f7ec4.pth 100.0% Downloading: "https://download.pytorch.org/models/resnet18-5c106cde.pth" to /home/mona/.cache/torch/checkpoints/resnet18-5c106cde.pth 100.0% TOTAL3D( (layout_estimation): DataParallel( (module): PoseNet( (resnet): ResNet( (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False) (layer1): Sequential( (0): BasicBlock( (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (1): BasicBlock( (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (2): BasicBlock( (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (layer2): Sequential( (0): BasicBlock( (conv1): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (downsample): Sequential( (0): Conv2d(64, 128, kernel_size=(1, 1), stride=(2, 2), bias=False) (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (2): BasicBlock( (conv1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (3): BasicBlock( (conv1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (layer3): Sequential( (0): BasicBlock( (conv1): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (downsample): Sequential( (0): Conv2d(128, 256, kernel_size=(1, 1), stride=(2, 2), bias=False) (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (2): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (3): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (4): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (5): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (layer4): Sequential( (0): BasicBlock( (conv1): Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (downsample): Sequential( (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False) (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (2): BasicBlock( (conv1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (avgpool): AvgPool2d(kernel_size=7, stride=1, padding=0) ) (fc_1): Linear(in_features=2048, out_features=1024, bias=True) (fc_2): Linear(in_features=1024, out_features=8, bias=True) (fc_layout): Linear(in_features=2048, out_features=2048, bias=True) (fc_3): Linear(in_features=2048, out_features=1024, bias=True) (fc_4): Linear(in_features=1024, out_features=4, bias=True) (fc_5): Linear(in_features=2048, out_features=1024, bias=True) (fc_6): Linear(in_features=1024, out_features=6, bias=True) (relu_1): LeakyReLU(negative_slope=0.2, inplace) (dropout_1): Dropout(p=0.5) ) ) (object_detection): Bdb3DNet( (resnet): DataParallel( (module): ResNet( (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False) (layer1): Sequential( (0): BasicBlock( (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (1): BasicBlock( (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (2): BasicBlock( (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (layer2): Sequential( (0): BasicBlock( (conv1): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (downsample): Sequential( (0): Conv2d(64, 128, kernel_size=(1, 1), stride=(2, 2), bias=False) (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (2): BasicBlock( (conv1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (3): BasicBlock( (conv1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (layer3): Sequential( (0): BasicBlock( (conv1): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (downsample): Sequential( (0): Conv2d(128, 256, kernel_size=(1, 1), stride=(2, 2), bias=False) (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (2): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (3): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (4): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (5): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (layer4): Sequential( (0): BasicBlock( (conv1): Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (downsample): Sequential( (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False) (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (2): BasicBlock( (conv1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (avgpool): AvgPool2d(kernel_size=7, stride=1, padding=0) ) ) (relnet): RelationNet( (fc_g): Linear(in_features=64, out_features=16, bias=True) (threshold): Threshold(threshold=1e-06, value=1e-06) (softmax): Softmax() (fc_K): Linear(in_features=2048, out_features=1024, bias=True) (fc_Q): Linear(in_features=2048, out_features=1024, bias=True) (conv_s): Conv1d(1, 1, kernel_size=(1,), stride=(1,)) ) (fc1): Linear(in_features=2089, out_features=128, bias=True) (fc2): Linear(in_features=128, out_features=3, bias=True) (fc3): Linear(in_features=2089, out_features=128, bias=True) (fc4): Linear(in_features=128, out_features=12, bias=True) (fc5): Linear(in_features=2089, out_features=128, bias=True) (fc_centroid): Linear(in_features=128, out_features=12, bias=True) (fc_off_1): Linear(in_features=2089, out_features=128, bias=True) (fc_off_2): Linear(in_features=128, out_features=2, bias=True) (relu_1): LeakyReLU(negative_slope=0.2) (dropout_1): Dropout(p=0.5) ) (mesh_reconstruction): DataParallel( (module): DensTMNet( (encoder): ResNet_Full( (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False) (layer1): Sequential( (0): BasicBlock( (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (1): BasicBlock( (conv1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (layer2): Sequential( (0): BasicBlock( (conv1): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (downsample): Sequential( (0): Conv2d(64, 128, kernel_size=(1, 1), stride=(2, 2), bias=False) (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (layer3): Sequential( (0): BasicBlock( (conv1): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (downsample): Sequential( (0): Conv2d(128, 256, kernel_size=(1, 1), stride=(2, 2), bias=False) (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (layer4): Sequential( (0): BasicBlock( (conv1): Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (downsample): Sequential( (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False) (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace) (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (avgpool): AvgPool2d(kernel_size=7, stride=7, padding=0) (fc): Linear(in_features=512, out_features=1024, bias=True) ) (decoders): ModuleList( (0): PointGenCon( (conv1): Conv1d(1036, 1036, kernel_size=(1,), stride=(1,)) (conv2): Conv1d(1036, 518, kernel_size=(1,), stride=(1,)) (conv3): Conv1d(518, 259, kernel_size=(1,), stride=(1,)) (conv4): Conv1d(259, 3, kernel_size=(1,), stride=(1,)) (th): Tanh() (bn1): BatchNorm1d(1036, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (bn2): BatchNorm1d(518, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (bn3): BatchNorm1d(259, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (1): PointGenCon( (conv1): Conv1d(1036, 1036, kernel_size=(1,), stride=(1,)) (conv2): Conv1d(1036, 518, kernel_size=(1,), stride=(1,)) (conv3): Conv1d(518, 259, kernel_size=(1,), stride=(1,)) (conv4): Conv1d(259, 3, kernel_size=(1,), stride=(1,)) (th): Tanh() (bn1): BatchNorm1d(1036, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (bn2): BatchNorm1d(518, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (bn3): BatchNorm1d(259, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (error_estimators): ModuleList( (0): EREstimate( (conv1): Conv1d(1036, 1036, kernel_size=(1,), stride=(1,)) (conv2): Conv1d(1036, 518, kernel_size=(1,), stride=(1,)) (conv3): Conv1d(518, 259, kernel_size=(1,), stride=(1,)) (conv4): Conv1d(259, 1, kernel_size=(1,), stride=(1,)) (bn1): BatchNorm1d(1036, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (bn2): BatchNorm1d(518, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (bn3): BatchNorm1d(259, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) ) ) ) Begin to finetune from the existing weight. Loading checkpoint from out/pretrained_models/pretrained_model.pth. set() subnet missed. Weights for finetuning loaded. ---------------------------------------------------------------------------------------------------- Loading data. Traceback (most recent call last): File "main.py", line 38, in demo.run(cfg) File "/home/mona/research/Total3DUnderstanding/demo.py", line 147, in run est_data = net(data) File "/home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__ result = self.forward(*input, **kwargs) File "/home/mona/research/Total3DUnderstanding/models/total3d/modules/network.py", line 67, in forward lo_centroid_result, lo_coeffs_result = self.layout_estimation(data['image']) File "/home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__ result = self.forward(*input, **kwargs) File "/home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 150, in forward return self.module(*inputs[0], **kwargs[0]) File "/home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__ result = self.forward(*input, **kwargs) File "/home/mona/research/Total3DUnderstanding/models/total3d/modules/layout_estimation.py", line 63, in forward cam = self.fc_1(x) File "/home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__ result = self.forward(*input, **kwargs) File "/home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages/torch/nn/modules/linear.py", line 92, in forward return F.linear(input, self.weight, self.bias) File "/home/mona/anaconda3/envs/Total3D/lib/python3.6/site-packages/torch/nn/functional.py", line 1406, in linear ret = torch.addmm(bias, input, weight.t()) RuntimeError: cublas runtime error : the GPU program failed to execute at /opt/conda/conda-bld/pytorch_1556653183467/work/aten/src/THC/THCBlas.cu:259 (Total3D) mona@mona:~/research/Total3DUnderstanding$ python Python 3.6.10 |Anaconda, Inc.| (default, May 8 2020, 02:54:21) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> torch.cuda.is_available() True >>> torch.__version__ '1.1.0' >>> quit() (Total3D) mona@mona:~/research/Total3DUnderstanding$ ls total 104K drwxrwxr-x 30 mona mona 4.0K Dec 9 14:42 .. -rw-rw-r-- 1 mona mona 7.6K Dec 9 14:42 README.md -rw-rw-r-- 1 mona mona 1.1K Dec 9 14:42 LICENSE drwxrwxr-x 4 mona mona 4.0K Dec 9 14:42 data -rwxrwxr-x 1 mona mona 9.4K Dec 9 14:42 demo.py drwxrwxr-x 4 mona mona 4.0K Dec 9 14:42 demo drwxrwxr-x 4 mona mona 4.0K Dec 9 14:42 external -rw-rw-r-- 1 mona mona 1.5K Dec 9 14:42 environment.yml drwxrwxr-x 2 mona mona 4.0K Dec 9 14:42 utils -rwxrwxr-x 1 mona mona 2.0K Dec 9 14:42 train.py -rwxrwxr-x 1 mona mona 3.4K Dec 9 14:42 train_epoch.py -rwxrwxr-x 1 mona mona 1.4K Dec 9 14:42 test.py -rwxrwxr-x 1 mona mona 1.6K Dec 9 14:42 test_epoch.py -rw-rw-r-- 1 mona mona 430 Dec 9 14:42 requirements.txt -rwxrwxr-x 1 mona mona 1.2K Dec 9 14:42 main.py drwxrwxr-x 8 mona mona 4.0K Dec 9 14:42 .git drwxrwxr-x 3 mona mona 4.0K Dec 9 15:00 configs drwxrwxr-x 3 mona mona 4.0K Dec 9 15:00 net_utils drwxrwxr-x 4 mona mona 4.0K Dec 9 15:00 out drwxrwxr-x 6 mona mona 4.0K Dec 9 15:00 models drwxrwxr-x 3 mona mona 4.0K Dec 9 15:00 libs drwxrwxr-x 2 mona mona 4.0K Dec 9 15:00 __pycache__ drwxrwxr-x 13 mona mona 4.0K Dec 9 15:00 . (Total3D) mona@mona:~/research/Total3DUnderstanding$ bat environment.yml ───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────── │ File: environment.yml ───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────── 1 │ name: Total3D 2 │ channels: 3 │ - pytorch 4 │ - defaults 5 │ dependencies: 6 │ - _libgcc_mutex=0.1 7 │ - blas=1.0 8 │ - bzip2=1.0.8 9 │ - ca-certificates=2020.1.1 10 │ - certifi=2020.6.20 11 │ - cffi=1.14.0 12 │ - cudatoolkit=9.0 13 │ - curl=7.69.1 14 │ - expat=2.2.6 15 │ - freetype=2.9.1 16 │ - future=0.18.2 17 │ - geos=3.8.0 18 │ - hdf4=4.2.13 19 │ - hdf5=1.10.4 20 │ - icu=58.2 21 │ - intel-openmp=2020.1 22 │ - jpeg=9b 23 │ - jsoncpp=1.8.4 24 │ - krb5=1.17.1 25 │ - ld_impl_linux-64=2.33.1 26 │ - libcurl=7.69.1 27 │ - libedit=3.1.20181209 28 │ - libffi=3.3 29 │ - libgcc-ng=9.1.0 30 │ - libgfortran-ng=7.3.0 31 │ - libnetcdf=4.6.1 32 │ - libogg=1.3.2 33 │ - libpng=1.6.37 34 │ - libssh2=1.9.0 35 │ - libstdcxx-ng=9.1.0 36 │ - libtheora=1.1.1 37 │ - libtiff=4.1.0 38 │ - libvorbis=1.3.6 39 │ - libxml2=2.9.10 40 │ - lz4-c=1.8.1.2 41 │ - mkl=2020.1 42 │ - mkl-service=2.3.0 43 │ - mkl_fft=1.0.15 44 │ - mkl_random=1.1.1 45 │ - ncurses=6.2 46 │ - ninja=1.9.0 47 │ - numpy=1.18.1 48 │ - numpy-base=1.18.1 49 │ - olefile=0.46 50 │ - openssl=1.1.1g 51 │ - pandas=1.0.5 52 │ - pillow=7.1.2 53 │ - pip=20.0.2 54 │ - pycparser=2.20 55 │ - python=3.6.10 56 │ - python-dateutil=2.8.1 57 │ - pytorch=1.1.0 58 │ - pytz=2020.1 59 │ - pyyaml=5.3.1 60 │ - readline=8.0 61 │ - scipy=1.4.1 62 │ - setuptools=47.1.1 63 │ - shapely=1.7.0 64 │ - six=1.15.0 65 │ - sqlite=3.31.1 66 │ - tbb=2020.0 67 │ - tk=8.6.8 68 │ - torchvision=0.3.0 69 │ - vtk=8.2.0 70 │ - wheel=0.34.2 71 │ - xz=5.2.5 72 │ - yaml=0.1.7 73 │ - zlib=1.2.11 74 │ - zstd=1.3.7 75 │ - pip: 76 │ - cycler==0.10.0 77 │ - jellyfish==0.8.2 78 │ - kiwisolver==1.2.0 79 │ - matplotlib==3.2.2 80 │ - opencv-python==4.2.0.34 81 │ - pyparsing==2.4.7 82 │ - seaborn==0.10.1 83 │ $ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Sun_Jul_28_19:07:16_PDT_2019 Cuda compilation tools, release 10.1, V10.1.243 $ nvidia-smi Wed Dec 9 15:14:27 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 450.80.02 Driver Version: 450.80.02 CUDA Version: 11.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 GeForce RTX 2070 Off | 00000000:01:00.0 Off | N/A | | N/A 49C P8 10W / N/A | 3121MiB / 7982MiB | 11% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 1364 G /usr/lib/xorg/Xorg 816MiB | | 0 N/A N/A 1797 G /usr/bin/gnome-shell 516MiB | | 0 N/A N/A 3284 G /usr/lib/firefox/firefox 2MiB | | 0 N/A N/A 3506 G /usr/lib/firefox/firefox 2MiB | | 0 N/A N/A 4545 G /usr/lib/firefox/firefox 2MiB | | 0 N/A N/A 7443 G /usr/lib/firefox/firefox 2MiB | | 0 N/A N/A 37638 G /usr/lib/firefox/firefox 2MiB | | 0 N/A N/A 37787 G /usr/lib/firefox/firefox 2MiB | | 0 N/A N/A 69220 G /usr/lib/firefox/firefox 2MiB | | 0 N/A N/A 74559 G /usr/lib/firefox/firefox 2MiB | | 0 N/A N/A 77168 G ...AAAAAAAAA= --shared-files 136MiB | | 0 N/A N/A 77506 C ...mona/anaconda3/bin/python 1621MiB | +-----------------------------------------------------------------------------+