Giter Site home page Giter Site logo

wurenkai / h-vmunet Goto Github PK

View Code? Open in Web Editor NEW
63.0 4.0 0.0 57 KB

[arXiv] The official code for "H-vmunet: High-order Vision Mamba UNet for Medical Image Segmentation".

Python 100.00%
image-segmentation medical-image-processing medical-image-segmentation

h-vmunet's Introduction

H-vmunet: High-order Vision Mamba UNet for Medical Image Segmentation

Renkai Wu, Yinghao Liu, Pengchen Liang*, and Qing Chang*

arXiv

News🚀

(2024.03.21) Model weights have been uploaded for download🔥🔥

(2024.03.21) The project code has been uploaded🔥

(2024.03.20) The first edition of our paper has been uploaded to arXiv 📃

0. Main Environments.
The environment installation procedure can be followed by VM-UNet, or by following the steps below:

conda create -n vmunet python=3.8
conda activate vmunet
pip install torch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu117
pip install packaging
pip install timm==0.4.12
pip install pytest chardet yacs termcolor
pip install submitit tensorboardX
pip install triton==2.0.0
pip install causal_conv1d==1.0.0  # causal_conv1d-1.0.0+cu118torch1.13cxx11abiFALSE-cp38-cp38-linux_x86_64.whl
pip install mamba_ssm==1.0.1  # mmamba_ssm-1.0.1+cu118torch1.13cxx11abiFALSE-cp38-cp38-linux_x86_64.whl
pip install scikit-learn matplotlib thop h5py SimpleITK scikit-image medpy yacs

1. Datasets.

A.ISIC2017
1- Download the ISIC 2017 train dataset from this link and extract both training dataset and ground truth folders inside the /data/dataset_isic17/.
2- Run Prepare_ISIC2017.py for data preparation and dividing data to train,validation and test sets.

B.Spleen
1- Download the Spleen dataset from this link.

C.CVC-ClinicDB
1- Download the CVC-ClinicDB dataset from this link.

D. Prepare your own dataset

  1. The file format reference is as follows. (The image is a 24-bit png image. The mask is an 8-bit png image. (0 pixel dots for background, 255 pixel dots for target))
  • './your_dataset/'
    • images
      • 0000.png
      • 0001.png
    • masks
      • 0000.png
      • 0001.png
    • Prepare_your_dataset.py
  1. In the 'Prepare_your_dataset.py' file, change the number of training sets, validation sets and test sets you want.
  2. Run 'Prepare_your_dataset.py'.

2. Train the H_vmunet.

python train.py
  • After trianing, you could obtain the outputs in './results/'

3. Test the H_vmunet.
First, in the test.py file, you should change the address of the checkpoint in 'resume_model'.

python test.py
  • After testing, you could obtain the outputs in './results/'

4. Get model weights

A.ISIC2017
Google Drive

B.Spleen
Google Drive

C.CVC-ClinicDB
Google Drive

Citation

If you find this repository helpful, please consider citing:

@article{wu2024h,
  title={H-vmunet: High-order Vision Mamba UNet for Medical Image Segmentation},
  author={Wu, Renkai and Liu, Yinghao and Liang, Pengchen and Chang, Qing},
  journal={arXiv preprint arXiv:2403.13642},
  year={2024}
}

Acknowledgement

Thanks to Vim, HorNet and VM-UNet for their outstanding work.

h-vmunet's People

Contributors

wurenkai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

h-vmunet's Issues

Questions about SS2D

It seems that the SS2D in the code is not the actual SS2D, but the VMamba Block.

train error

作者您好,我在运行过程中发生了以下错误:
val epoch: 19, loss: 0.6657
train: epoch 20, iter:0, loss: 0.7179, lr: 0.0006872216535789154
train: epoch 20, iter:20, loss: 0.5572, lr: 0.0006872216535789154
train: epoch 20, iter:40, loss: 0.5618, lr: 0.0006872216535789154
train: epoch 20, iter:60, loss: 0.5670, lr: 0.0006872216535789154
train: epoch 20, iter:80, loss: 0.5654, lr: 0.0006872216535789154
train: epoch 20, iter:100, loss: 0.5469, lr: 0.0006872216535789154
train: epoch 20, iter:120, loss: 0.5617, lr: 0.0006872216535789154
train: epoch 20, iter:140, loss: 0.5648, lr: 0.0006872216535789154
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [64,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [65,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [66,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [67,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [68,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [69,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [70,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [71,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [72,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [73,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [74,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [75,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [76,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [77,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [78,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [79,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [80,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [81,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [82,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [83,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [84,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [85,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [86,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [87,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [88,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [89,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [90,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [91,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [92,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [93,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [94,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [95,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [96,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [97,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [98,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [99,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [100,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [101,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [102,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [103,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [104,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [105,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [106,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [107,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [108,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [109,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [110,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [111,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [112,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [113,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [114,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [115,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [116,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [117,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [118,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [119,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [120,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [121,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [122,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [123,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [124,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [125,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [126,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [102,0,0], thread: [127,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [32,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [33,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [34,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [35,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [36,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [37,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [38,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [39,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [40,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [41,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [42,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [43,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [44,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [45,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [46,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [47,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [48,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [49,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [50,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [51,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [52,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [53,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [54,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [55,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [56,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [57,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [58,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [59,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [60,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [61,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [62,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [63,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [0,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [1,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [2,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [3,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [4,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [5,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [6,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [7,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [8,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [9,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [10,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [11,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [12,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [13,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [14,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [15,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [16,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [17,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [18,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [19,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [20,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [21,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [22,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [23,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [24,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [25,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [26,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [27,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [28,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [29,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [30,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [31,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [64,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [65,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [66,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [67,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [68,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [69,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [70,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [71,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [72,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [73,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [74,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [75,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [76,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [77,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [78,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [79,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [80,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [81,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [82,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [83,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [84,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [85,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [86,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [87,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [88,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [89,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [90,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [91,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [92,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [93,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [94,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [126,0,0], thread: [95,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [32,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [33,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [34,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [35,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [36,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [37,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [38,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [39,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [40,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [41,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [42,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [43,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [44,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [45,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [46,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [47,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [48,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [49,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [50,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [51,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [52,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [53,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [54,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [55,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [56,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [57,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [58,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [59,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [60,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [61,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [62,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [72,0,0], thread: [63,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [96,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [97,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [98,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [99,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [100,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [101,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [102,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [103,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [104,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [105,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [106,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [107,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [108,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [109,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [110,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [111,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [112,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [113,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [114,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [115,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [116,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [117,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [118,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [119,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [120,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [121,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [122,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [123,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [124,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [125,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [126,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [96,0,0], thread: [127,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [64,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [65,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [66,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [67,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [68,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [69,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [70,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [71,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [72,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [73,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [74,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [75,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [76,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [77,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [78,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [79,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [80,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [81,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [82,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [83,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [84,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [85,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [86,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [87,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [88,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [89,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [90,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [91,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [92,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [93,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [94,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [95,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [96,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [97,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [98,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [99,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [100,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [101,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [102,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [103,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [104,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [105,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [106,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [107,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [108,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [109,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [110,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [111,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [112,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [113,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [114,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [115,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [116,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [117,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [118,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [119,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [120,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [121,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [122,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [123,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [124,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [125,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [126,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [120,0,0], thread: [127,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [0,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [1,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [2,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [3,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [4,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [5,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [6,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [7,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [8,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [9,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [10,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [11,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [12,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [13,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [14,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [15,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [16,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [17,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [18,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [19,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [20,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [21,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [22,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [23,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [24,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [25,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [26,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [27,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [28,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [29,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [30,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [150,0,0], thread: [31,0,0] Assertion input_val >= zero && input_val <= one failed.
发生异常: RuntimeError
CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasSgemmStridedBatched( handle, opa, opb, m, n, k, &alpha, a, lda, stridea, b, ldb, strideb, &beta, c, ldc, stridec, num_batches)
File "/root/H-vmunet-main-train/engine.py", line 40, in train_one_epoch
loss.backward()
File "/root/H-vmunet-main-train/train.py", line 133, in main
train_one_epoch(
File "/root/H-vmunet-main-train/train.py", line 190, in
main(config)
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasSgemmStridedBatched( handle, opa, opb, m, n, k, &alpha, a, lda, stridea, b, ldb, strideb, &beta, c, ldc, stridec, num_batches)
请问我该如何解决呢,麻烦作者帮我看一下,谢谢作者!!!

Comparison Experiment

I found that running some of your comparison experiments revealed a few problems:
Take running META_Unet as an example.May I ask what the problem is and if you can help?

../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [90,0,0], thread: [123,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [90,0,0], thread: [124,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [90,0,0], thread: [125,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [90,0,0], thread: [126,0,0] Assertion input_val >= zero && input_val <= one failed.
../aten/src/ATen/native/cuda/Loss.cu:92: operator(): block: [90,0,0], thread: [127,0,0] Assertion input_val >= zero && input_val <= one failed.
Traceback (most recent call last):
File "train.py", line 224, in
main(config)
File "train.py", line 167, in main
train_one_epoch(
File "/mnt/data/linda/yyf/H-vmunet-main/engine.py", line 41, in train_one_epoch
loss.backward()
File "/home/linda/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/_tensor.py", line 487, in backward
torch.autograd.backward(
File "/home/linda/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/autograd/init.py", line 197, in backward
Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
You can try to repro this exception using the following code snippet. If that doesn't trigger the error, please include your original repro script when reporting this issue.

import torch
torch.backends.cuda.matmul.allow_tf32 = False
torch.backends.cudnn.benchmark = True
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.allow_tf32 = True
data = torch.randn([8, 32, 256, 256], dtype=torch.float, device='cuda', requires_grad=True)
net = torch.nn.Conv2d(32, 1, kernel_size=[3, 3], padding=[1, 1], stride=[1, 1], dilation=[1, 1], groups=1)
net = net.cuda().float()
out = net(data)
out.backward(torch.randn_like(out))
torch.cuda.synchronize()

ConvolutionParams
memory_format = Contiguous
data_type = CUDNN_DATA_FLOAT
padding = [1, 1, 0]
stride = [1, 1, 0]
dilation = [1, 1, 0]
groups = 1
deterministic = true
allow_tf32 = true
input: TensorDescriptor 0x89e818a0
type = CUDNN_DATA_FLOAT
nbDims = 4
dimA = 8, 32, 256, 256,
strideA = 2097152, 65536, 256, 1,
output: TensorDescriptor 0x89efcbc0
type = CUDNN_DATA_FLOAT
nbDims = 4
dimA = 8, 1, 256, 256,
strideA = 65536, 65536, 256, 1,
weight: FilterDescriptor 0x7fa474042520
type = CUDNN_DATA_FLOAT
tensor_format = CUDNN_TENSOR_NCHW
nbDims = 4
dimA = 1, 32, 3, 3,
output: 0x7fa517d00000
weight: 0x7fa5809fa400

Train

I used the breast cancer dataset BUSI for training and pre-processed the data, but I encountered a problem during training
#----------Training----------#
Traceback (most recent call last):
File "train.py", line 188, in
main(config)
File "train.py", line 131, in main
train_one_epoch(
File "/mnt/data/panxue/PX/H-vmunet-main/engine.py", line 38, in train_one_epoch
out = model(images)
File "/home/panxue/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
return forward_call(*input, **kwargs)
File "/home/panxue/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/nn/parallel/data_parallel.py", line 169, in forward
return self.module(*inputs[0], **kwargs[0])
File "/home/panxue/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
return forward_call(*input, **kwargs)
File "/mnt/data/panxue/PX/H-vmunet-main/models/H_vmunet.py", line 381, in forward
out = F.gelu(F.max_pool2d(self.ebn1(self.encoder1(x)),2,2))
File "/home/panxue/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
return forward_call(*input, **kwargs)
File "/home/panxue/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/nn/modules/container.py", line 204, in forward
input = module(input)
File "/home/panxue/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
return forward_call(*input, **kwargs)
File "/home/panxue/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 463, in forward
return self._conv_forward(input, self.weight, self.bias)
File "/home/panxue/anaconda3/envs/vmunet/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 459, in _conv_forward
return F.conv2d(input, weight, bias, self.stride,
RuntimeError: no valid convolution algorithms available in CuDNN

IndexError: index 1 is out of bounds for axis 1 with size 1

Why does this happen? please,thank you
Traceback (most recent call last):
File "train.py", line 187, in
main(config)
File "train.py", line 142, in main
loss = val_one_epoch(
File "/home/liubn/0-149liubaoning/30-H-vmunet-main/H-vmunet-main/engine.py", line 85, in val_one_epoch
TN, FP, FN, TP = confusion[0,0], confusion[0,1], confusion[1,0], confusion[1,1]
IndexError: index 1 is out of bounds for axis 1 with size 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.