sacmehta / espnet Goto Github PK
View Code? Open in Web Editor NEWESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation
Home Page: https://sacmehta.github.io/ESPNet/
License: MIT License
ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation
Home Page: https://sacmehta.github.io/ESPNet/
License: MIT License
Hi!
Im trying to use this model to segment drivable regions and only have 3 classes. Im able to train and use ESPNet-C just fine but when I try to use the ESPNet light decoder theres a problem in model construction in https://github.com/sacmehta/ESPNet/blob/master/train/Model.py#L183
the rounding down makes n go to 0 which is a problem.
Ive tried hacking this by making sure in the worst case n = n1 = 1 but clearly i dont fully understand the construction of the model since that doesn't work out.
Any tips would be appreciated. Thanks!
Hi,
I would like to train ESPNet model with my dataset from Cityscapes pretrained weights that you uploaded on /pretrained/encoder/ folder, not from scratch.
Could you please give some advice how to do this?
Thanks.
@sacmehta , thanks very much for your work, how about the inference time for one image with input_size=1024x512 ? I saw the time is 0.0089s per image shown in the cityscapes benchmark, but I get the time is 0.132s with input_size=1024x512 on GPU, and my GPU is Titanx 1080.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [704,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [192,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [576,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [960,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [832,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [448,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [421,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [422,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [942,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [320,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [349,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [313,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [314,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [815,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [821,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [822,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [823,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [699,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [700,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [571,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [64,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [65,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [66,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [67,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [68,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [69,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [70,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [71,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [72,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [73,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [74,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [75,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [76,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [77,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [78,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [79,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [80,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [81,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [82,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [83,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [84,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [85,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [86,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [87,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [88,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [89,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [90,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [91,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [92,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [93,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [94,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [95,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [32,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [33,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [34,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [35,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [36,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [37,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [38,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [39,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [40,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [41,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [42,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [43,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [44,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [45,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [46,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [47,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [48,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [49,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [50,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [51,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [52,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [53,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [54,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [55,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [56,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [57,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [58,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [59,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [60,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [61,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [62,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [63,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [160,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [161,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [162,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [163,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [164,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [165,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [166,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [167,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [168,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [169,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [170,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [171,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [172,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [173,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [174,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [175,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [176,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [177,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [178,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [179,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [180,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [181,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [182,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [183,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [184,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [185,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [186,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [187,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [188,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [189,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [190,0,0] Assertion t >= 0 && t < n_classes
failed.
/opt/conda/conda-bld/pytorch_1518243271935/work/torch/lib/THCUNN/SpatialClassNLLCriterion.cu:99: void cunn_SpatialClassNLLCriterion_updateOutput_kernel(T *, T *, T *, long *, T *, int, int, int, int, int, long) [with T = float, AccumT = float]: block: [9,0,0], thread: [191,0,0] Assertion t >= 0 && t < n_classes
failed.
Traceback (most recent call last):
File "main.py", line 409, in
trainValidateSegmentation(parser.parse_args())
File "main.py", line 335, in trainValidateSegmentation
train(args, trainLoader_scale1, model, criteria, optimizer, epoch)
File "main.py", line 105, in train
loss.backward()
File "/home/lxt/anaconda3/lib/python3.6/site-packages/torch/autograd/variable.py", line 167, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph, retain_variables)
File "/home/lxt/anaconda3/lib/python3.6/site-packages/torch/autograd/init.py", line 99, in backward
variables, grad_variables, retain_graph)
RuntimeError: CUDNN_STATUS_INTERNAL_ERROR
When I train the model use python main.py --scaleIn 8
The code 'IOUEval.py' defined the class of mIoU and per class iou calculation, and used in training procedure, but how to reuse this code for evaluating the predicted result? Thank you!
Hello, can you share your encoder and decoder weights on PASCAL VOC and give some details when training ? Thanks very much!
Hello, @sacmehta!
I'm trying to train a neural network on my own database which consists of 5 classes.
To train the encoder, I use the command:
CUDA_VISIBLE_DEVICES=1 python3 main.py --data_dir=./DataBase --inWidth=480 --inHeight=360 --classes=5 --cached_data_file=data.p --batch_size=10
To train the decoder, I use the command:
CUDA_VISIBLE_DEVICES=1 python3 main.py --data_dir=./DataBase --inWidth=480 --inHeight=360 --classes=5 --cached_data_file=data.p --batch_size=5 --decoder=True --pretrained=./results_enc__enc_2_8_long/model_161.pth --scaleIn=1 --savedir=./results_dec_
After completing the training, I start testing the neural network:
CUDA_VISIBLE_DEVICES=1 python3 VisualizeResults.py --modelType=1 --inWidth=480 --inHeight=360 --scaleIn=1 --weightsDir=../pretrained/decoder/ --classes=5 --cityFormat=False
In the decoder folder are the weights (new) of the trained neural network (espnet_p_2_q_8.pth).
As a result, I get the following error:
RuntimeError: Error(s) in loading state_dict for ESPNet: While copying the parameter named "conv.conv.weight", whose dimensions in the model are torch.Size([5, 21, 3, 3]) and whose dimensions in the checkpoint are torch.Size([5, 24, 3, 3]).
How can I fix this error?
Hi,
In your paper, you conducted an experiment that trained ESPNet on Cityscapes but tested on Mapillary.
However, the number of classes is different between the two datasets.
How did you test and evaluate the mIoU?
Thanks.
I use the pretrained model provided by the author to evaluate the validation data (500 images) of cityscapes dataset, and the mIoU result is only 54%, but the result provided by the author is 60% (on test data of cityscapes), will the gap be so big?
Hi! Thanks for your paper. Your results are got from 1024 * 512 input images? right? What about the full images input speed and IOU??
e.g.
Test:
concat_features = self.conv(torch.cat([comb_l2_l3, output0], 1))
Train:
concat_features = self.conv(torch.cat([comb_l2_l3, output0_cat], 1))
Is this will be harmful to the results?
Hi,
Can you share your PSPNet conversion code (pretrained model)? It seems the pytorch model has lower performance than the caffe model.
hi, @sacmehta!
I see that in the paper:
First, ESPNet-C was trained with down-sampled annotations. Second, a light-weight decoder was attached to ESPNet-C and then, the entire ESPNet network was trained
you freeze the parameters of encoder(ESPNet-C ) in the training of ESPNet ?
python3 VisualizeResults.py --modelType 1 --p 2 --q 8 --weightsDir ./
True
.//decoder/espnet_p_2_q_8.pth
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 514, in load_state_dict
own_state[name].copy_(param)
RuntimeError: invalid argument 2: sizes do not match at /pytorch/torch/lib/THC/generic/THCTensorCopy.c:101
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "VisualizeResults.py", line 194, in
main(args)
File "VisualizeResults.py", line 149, in main
modelA.load_state_dict(torch.load(model_weight_file))
File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 519, in load_state_dict
.format(name, own_state[name].size(), param.size()))
RuntimeError: While copying the parameter named conv.conv.weight, whose dimensions in the model are torch.Size([20, 36, 3, 3]) and whose dimensions in the checkpoint are torch.Size([20, 39, 3, 3]).
I have trained my own models.
I found
train model
self.conv = CBR(19 + classes, classes, 3, 1)
test model
self.conv = CBR(16 + classes, classes, 3, 1)
what is it?
Is this right?
[ 1.5422179 6.2893033 10.492059 10.492059 10.492059 10.492059
10.492059 10.492059 10.492059 10.492059 10.492059 10.492059
10.492059 10.492059 10.492059 10.492059 10.492059 10.492059
10.492059 5.131662 ]
This means the first classes occurs 80% in labels, and almost the others class occurs less than 0.01%.
Hello, @sacmehta
I'm new learner in semantic segmentation.
My dataset structure is:
Problem happened, when i run python main.py
in the train folder.
Label Image ID:
...
/home/ll/DATA/cityscapes/gtFine/train/zurich/zurich_000032_000019_gtFine_labelTrainIds.png
Labels can take value between 0 and number of classes.
Some problem with labels. Please check.
...
Can you help me? Thanks.
Enjoyed reading the paper!
I had a question about a possible paper - code discrepancy. In DilatedParllelResidualBlockB
, the activation seems to be missing, although the paper claims that "All layers (convolution and ESP modules) are followed by a batch normalization [49] and a PReLU [50] non-linearity except for the last point-wise convolution". Is the code correct in stacking conv blocks with only batch norms in between?
random note: netParams
instead of
def netParams(model):
'''
helper function to see total network parameters
:param model: model
:return: total network parameters
'''
total_paramters = 0
for parameter in model.parameters():
i = len(parameter.size())
p = 1
for j in range(i):
p *= parameter.size(j)
total_paramters += p
return total_paramters
I like to use the following, which you may also prefer to save LOC :)
n_params = sum([np.prod(p.size()) for p in model.parameters()])
Hi @sacmehta ,
How long did it take you to train the model ?
Training with different scales and 300 epoch (default setting) seems to take a long long time......
The repository states the MIT license as project license, however many files in the train/
folder contain __license__ = "GPL"
. Which license applies? Thanks!
Hi,
I am trying to extract every (or specific) layer's feature map (actual rgb values). (but I can get each feature map's resolutions and filter's coefficients)
I do not know how to figure it out, any suggestion?
Thanks.
Hi @sacmehta ,the pytorch version of my system environment is 2.0 , when I want to train using multiGPUS with nn.DataParallel, it reports errors as following:
Traceback (most recent call last):
File "main.py", line 427, in
trainValidateSegmentation(parser.parse_args())
File "main.py", line 357, in trainValidateSegmentation
lossTr, overall_acc_tr, per_class_acc_tr, per_class_iu_tr, mIOU_tr = train(args, trainLoader, model, criteria, optimizer, epoch)
File "main.py", line 107, in train
output = model(input_var)
File "/usr/local/lib/python2.7/dist-packages/torch/nn/modules/module.py", line 224, in call
result = self.forward(*input, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/torch/nn/parallel/data_parallel.py", line 59, in forward
replicas = self.replicate(self.module, self.device_ids[:len(inputs)])
File "/usr/local/lib/python2.7/dist-packages/torch/nn/parallel/data_parallel.py", line 64, in replicate
return replicate(module, device_ids)
File "/usr/local/lib/python2.7/dist-packages/torch/nn/parallel/replicate.py", line 21, in replicate
modules = list(network.modules())
TypeError: 'list' object is not callable
Hello.
Your paper is really interesting and impressing.
And I have a question about your network.
I changed CDilated class in Model.py to speed up the network.
I apply factorization to CDilated class.
To be specific I changed the code as follows
As far as I know, I learned that factorized convolution reduce the number of parameters and reduce the inference time. But, this changed network has 87 fps and your network has 146 fps.
Can you tell me your opinion about this results?
Thank you.
@sacmehta ,thanks very much for your work, and I wonder about the performance(mIOU) on cityscapes validation set of the ESP_C model and ESPnet model? I run your commands, and the mIOU only 41% which is much lower than the performance released on the paper ? Thanks very much !
Hi,
after training a model on my own, I noticed that I could not perform inference with the scripts provided.
This is the case because the Model.py in the test and train folder are different.
train:
line 339: self.conv = CBR(19 + classes, classes, 3, 1)
line 382: concat_features = self.conv(torch.cat([comb_l2_l3, output0_cat], 1))
test:
line 339: self.conv = CBR(16 + classes, classes, 3, 1)
line 382: concat_features = self.conv(torch.cat([comb_l2_l3, output0], 1))
Since the version in the test folder works with the provided pretrained models, I assume that this is the correct version?
Hi I ran your code. I am getting follwoing error:
"""
Total network parameters: 349449
Data statistics
[72.39231 82.908936 73.1584 ] [45.31922 46.152893 44.914833]
[ 1.5422179 6.085514 10.492059 10.492059 10.492059 10.492059
10.492059 10.492059 10.492059 10.492059 10.492059 10.492059
10.492059 10.492059 10.492059 10.492059 10.492059 10.492059
10.492059 5.2713513]
Learning rate: 0.0005
Traceback (most recent call last):
File "main.py", line 413, in
trainValidateSegmentation(parser.parse_args())
File "main.py", line 339, in trainValidateSegmentation
train(args, trainLoader_scale1, model, criteria, optimizer, epoch)
File "main.py", line 103, in train
loss = criterion(output, target_var)
File "/users/sriharsha.annamaneni/miniconda3/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py", line 325, in call
result = self.forward(*input, **kwargs)
File "/users/sriharsha.annamaneni/ESPNet/train/Criteria.py", line 23, in forward
return self.loss(F.log_softmax(outputs, 1), targets)
File "/users/sriharsha.annamaneni/miniconda3/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py", line 325, in call
result = self.forward(*input, **kwargs)
File "/users/sriharsha.annamaneni/miniconda3/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/loss.py", line 147, in forward
self.ignore_index, self.reduce)
File "/users/sriharsha.annamaneni/miniconda3/envs/pytorch/lib/python3.6/site-packages/torch/nn/functional.py", line 1051, in nll_loss
return torch._C._nn.nll_loss2d(input, target, weight, size_average, ignore_index, reduce)
RuntimeError: input and target batch or spatial sizes don't match: target [6 x 768 x 1536], input [6 x 20 x 96 x 192] at /opt/conda/conda-bld/pytorch_1512387374934/work/torch/lib/THCUNN/generic/SpatialClassNLLCriterion.cu:24
"""
There is a dimension mismatch between image from model and target image
Can you share the codes about train the camvid dataset , or tell me how to preprocessing camvid dataset for training!
Thanks!
Hello.
I trained your ESPNet and want to evaluate the model(mIoU).
So, I made test/main.py using your train/main.py code.
However, I realized that I need test.txt file of cityscapes to run the code.
Is there anyway to get test.txt file of cityscapes?
Or can you let me know how can I check your model's mIoU?
Thanks.
Hi,
I'm trying to use this model to segment drivable regions and only have 2 classes. I did not get good results by changing the model.py as you said in #13. The smallest train loss I got was 0.036. So do I need to change softmax function to sigmoid? Or do I need to make other changes?
Thank you very much.
When I run the code by classes=2, I initial the code " model = net.ESPNet(classes=2)"
Hello, @sacmehta
I run the ESPNet on jetson TX2 and the JetPack SDK verson is 4.1.1, pytorch version is 4.0.
I find that when the input image is 360x640, the inference time is about 0.112s which means FPS is less than 10. (I am sure without image loading and image writing time.)
In your paper, the inference Speed is more than 16 when the image is 360x640. Can you give me more details about it?
Beside, I use the erf_net code to measure the inference time of ESPNet, https://github.com/Eromera/erfnet_pytorch/blob/master/eval/eval_forwardTime.py
Hi, I was confused how to achieve the performance reported on Cityscapes' benchmark with IoU of 60.3%? How to set the modelType and the 'p' and 'q' in VisualizeResults.py? Thanks!!
Hello I have tried to run your code but I have several problem:
link
and download leftImg8bit_trainvaltest.zip (11GB)
and it's GT gtFine_trainvaltest.zip (241MB)
train.txt
and val.txt
must change GT path from labelTrainIds
to labelIds
.Some problem with labels. Please check.
Again I find that the dataset have bigger class. Therefore in your paper did you only have 20 class?, and could you share a link for cityscape dataset that you download for your paper?Labels can take value between 0 and number of classes.
Some problem with labels. Please check.
Label Image ID: ./city/gtFine/train/zurich/zurich_000104_000019_gtFine_labelIds.png
Self class 20
Max Val 26
Min_Val 0
Labels can take value between 0 and number of classes.
Some problem with labels. Please check.
Label Image ID: ./city/gtFine/train/zurich/zurich_000098_000019_gtFine_labelIds.png
Self class 20
Max Val 33
Min_Val 1
Labels can take value between 0 and number of classes.
Some problem with labels. Please check.
unique_values=[ 0 1 2 4 5 7 8 10 11 13 14 255]
Is it important?
Hi,
As said in the code that 'normalization value, as defined in ERFNet paper'. So I read the paper (Efficient Residual Factorized ConvNet for Real-time Semantic) , but I didn't find something about it. Then I went to see the source code of ERFNet, as shown below. The value of weight is fixed...Can you tell me more about the origin of this formula?Thank you
Hi, I read your paper and want to know exact values in your graph in Figures 5,6,7.
Could you let me know the values in graph or indicate the exact numbers in your paper?
hi, I want to check comparison between state-of-the-art segmentation methods in Fig 6. your paper.
First, I am trying to implement erfnet code in pytorch on TX2 but i got stuck running program as " RuntimeError: cuda runtime error (7) : too many resources requested for launch at /home... src/ THCUNN/im2col.h"
your paper mentioned that using optimized general matrix multiplication(GEMM) & memory re-ordering operations such as im2col / How to use this opertaion.
Hello,
First of all, your work is very impressive and helpful. Thank you!
I have a few questions below.
Thanks.
Hi sacmehta,
First of all, really a great work! ESPNet is elegant and efficient. And after I look into your paper and code, I have some questions on your decisions of strategy and structure design.
(1) I found that in the provided ESPNet model, you did not utilize another Conv-1(19, C) for skip connection at last concat part in the decoder, which is different from the Fig.8 (d)ESPNet. Did you abandon that skip connection simply for better performance?
(2) Why did you design the ESPNet to be trained in two stage? Does it because in this way, the encode feature can be learned directly and the decoder part just serves for upsampling? Did you train end to end on ESPNet and if so could you share some insight of this?
(3) I notice that while you train the ESPNet-C, you downsample the groundtruth label to 1/8 resolution. However, would it be better that we upsample 8x the output feature of ESPNet-C by bilnear to calculate loss?
(4) You decided to use another channel for background (not use for evaluation), and did you conduct experiment on the performance difference of without and with this additional channel? Without additional background channel in the case of Cityscapes dataset, we can have better visual results and also a little bit smaller model. Any reason that drives you to add another background channel? (like for better mIoU?)
Thank you so much for your time.
Best,
Kuo-Wei
Hi I try to build ESPNet with class=2, p=2, q=8. I got error like this.
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-35-0e6836058e7e> in <module>()
1 import module_ESPNet as net
----> 2 espnet = ESPNet(2, 2, 8)
3 #espnet.to(GPU_ID)
4 #enet.cpu()
<ipython-input-31-ee42dd8d8112> in __init__(self, classes, p, q, encoderFile)
332
333 self.up_l3 = nn.Sequential(nn.ConvTranspose2d(classes, classes, 2, stride=2, padding=0, output_padding=0, bias=False))
--> 334 self.combine_l2_l3 = nn.Sequential(BR(2*classes), DilatedParllelResidualBlockB(2*classes , classes, add=False))
335
336 self.up_l2 = nn.Sequential(nn.ConvTranspose2d(classes, classes, 2, stride=2, padding=0, output_padding=0, bias=False), BR(classes))
<ipython-input-31-ee42dd8d8112> in __init__(self, nIn, nOut, add)
175 n = int(nOut/5)
176 n1 = nOut - 4*n
--> 177 self.c1 = C(nIn, n, 1, 1)
178 self.d1 = CDilated(n, n1, 3, 1, 1) # dilation rate of 2^0
179 self.d2 = CDilated(n, n, 3, 1, 2) # dilation rate of 2^1
<ipython-input-31-ee42dd8d8112> in __init__(self, nIn, nOut, kSize, stride)
92 super().__init__()
93 padding = int((kSize - 1)/2)
---> 94 self.conv = nn.Conv2d(nIn, nOut, (kSize, kSize), stride=stride, padding=(padding, padding), bias=False)
95
96 def forward(self, input):
~/.conda/envs/deep/lib/python3.6/site-packages/torch/nn/modules/conv.py in __init__(self, in_channels, out_channels, kernel_size, stride, padding, dilation, groups, bias)
313 super(Conv2d, self).__init__(
314 in_channels, out_channels, kernel_size, stride, padding, dilation,
--> 315 False, _pair(0), groups, bias)
316
317 @weak_script_method
~/.conda/envs/deep/lib/python3.6/site-packages/torch/nn/modules/conv.py in __init__(self, in_channels, out_channels, kernel_size, stride, padding, dilation, transposed, output_padding, groups, bias)
41 else:
42 self.register_parameter('bias', None)
---> 43 self.reset_parameters()
44
45 def reset_parameters(self):
~/.conda/envs/deep/lib/python3.6/site-packages/torch/nn/modules/conv.py in reset_parameters(self)
45 def reset_parameters(self):
46 n = self.in_channels
---> 47 init.kaiming_uniform_(self.weight, a=math.sqrt(5))
48 if self.bias is not None:
49 fan_in, _ = init._calculate_fan_in_and_fan_out(self.weight)
~/.conda/envs/deep/lib/python3.6/site-packages/torch/nn/init.py in kaiming_uniform_(tensor, a, mode, nonlinearity)
286 >>> nn.init.kaiming_uniform_(w, mode='fan_in', nonlinearity='relu')
287 """
--> 288 fan = _calculate_correct_fan(tensor, mode)
289 gain = calculate_gain(nonlinearity, a)
290 std = gain / math.sqrt(fan)
~/.conda/envs/deep/lib/python3.6/site-packages/torch/nn/init.py in _calculate_correct_fan(tensor, mode)
255 raise ValueError("Mode {} not supported, please use one of {}".format(mode, valid_modes))
256
--> 257 fan_in, fan_out = _calculate_fan_in_and_fan_out(tensor)
258 return fan_in if mode == 'fan_in' else fan_out
259
~/.conda/envs/deep/lib/python3.6/site-packages/torch/nn/init.py in _calculate_fan_in_and_fan_out(tensor)
189 receptive_field_size = 1
190 if tensor.dim() > 2:
--> 191 receptive_field_size = tensor[0][0].numel()
192 fan_in = num_input_fmaps * receptive_field_size
193 fan_out = num_output_fmaps * receptive_field_size
IndexError: index 0 is out of bounds for dimension 0 with size 0
Jetson TX2, Jetpack 3.2, PyTorch 0.3.0, Python 2 (had to add from builtins import super
to Model.py
not sure if this is kosher)
Input image is 512x256, all default args.
RuntimeError: cuda runtime error (7): too many resources requested for launch at /home/nvidia/pytorch/torch/lib/THCUNN/im2col.h:60
I think the issue maybe that PyTorch was built without CUDNN support. I'm rebuilding and will report back.
in line 41 of train/IOUEval.py
self.batchCount += 1
but in train/main.py, the batch size is
batch_size=args.batch_size + 4
when I set batch_size = 1, the performance of decoder_2_8 on cityscape will drop to 37.05 and on camVid will drop to 44.89。
on camVid when batch size = 1 mIOU = 44.89. batch size = 4 mIOU=45.9, batch size = 32 mIOU = 44.4
I run by this:python3 main.py --scaleIn 8 --p 2 --q 8 --onGPU True
then get:
Total network parameters: 344841
/home/hh/.local/lib/python3.5/site-packages/torch/nn/modules/loss.py:206: UserWarning: NLLLoss2d has been deprecated. Please use NLLLoss instead as a drop-in replacement and see http://pytorch.org/docs/master/nn.html#torch.nn.NLLLoss for more details.
warnings.warn("NLLLoss2d has been deprecated. "
Data statistics
[103.45756 101.83934 101.728714] [69.51785 67.936035 64.71613 ]
[4.2652993 1.5139731]
Learning rate: 0.0005
Traceback (most recent call last):
File "main.py", line 408, in
trainValidateSegmentation(parser.parse_args())
File "main.py", line 334, in trainValidateSegmentation
train(args, trainLoader_scale1, model, criteria, optimizer, epoch)
File "main.py", line 97, in train
output = model(input_var)
File "/home/hh/.local/lib/python3.5/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/home/hh/programs/ESPNet_hh/train/Model.py", line 286, in forward
output0 = self.level1(input)
File "/home/hh/.local/lib/python3.5/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/home/hh/programs/ESPNet_hh/train/Model.py", line 33, in forward
output = self.conv(input)
File "/home/hh/.local/lib/python3.5/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/home/hh/.local/lib/python3.5/site-packages/torch/nn/modules/conv.py", line 301, in forward
self.padding, self.dilation, self.groups)
RuntimeError: Expected object of type torch.FloatTensor but found type torch.cuda.FloatTensor for argument #2 'weight'
I followed by your code,and there is only one class for my dataset to segment. What happened to this porblem?How to change?
hi, nice work , its the fastest i have seen ,
can u give a 'read me' about how to train our dataset.
maybe the input and class_num is difference and how to train the net from sctach
Hello @sacmehta,
thank you for your work.
I was wondering how much FLOPs does an ESP module require.
Hello, @sacmehta!
I've one more question.
Have you tried to run your neural network architecture on embedded platforms? Under the embedded platform, I mean Raspberry Pi, Orange Pi, Odroid and others. If so, what results did you get on the speed of work (FPS)? If you did not run, why? Do you think this neural network will work on these platforms? If so, how do I run ESPNet on such a platform?
At the moment, I managed to run ENet on a single-board Odroid computer, the speed of work was 3 FPS. I'm counting on the fact that your architecture will work faster. Thank you!
Hi,@sacmehta
I encounter a problem when I ran your code in Jetson TX2. I find it costs about 1.5G memory, how can I optimize the code to minimize the memory while ensuring accuracy?
Hi,
During I check your codes, I found some different part between the paper and codes.
your paper mentioned, for the decoder part, output0_cat is applied by 1x1 conv (19,C) and then concat but I can see output0_cat does not pass 1x1 conv (19,C).
Look at this part in your code which is Model.py (the last part of decoder)
self.conv = CBR(19 + classes, classes, 3, 1)
concat_features = self.conv(torch.cat([comb_l2_l3, output0_cat], 1))
This shows that output0_cat + comb_l2_l3 passes CBR (19 + classes, classes, 3, 1) and it means output0_cat does not pass 1x1 conv (19,C).
I would like to know why there is the difference.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.