레이블 스마일, Amsoftmax, Partial-FC, Focal-Loss, Dual-Ocal-Loss, Triplet-Loss, Giou/Diou/Ciou-Loss/Func, Affinity-Loss, PC_SOFTMAX_CROSS_ENTROPY, OHES-LOSS (SOFTMAX 기반의 하드 마이닝 손실), 대형 마진 소프트 MAX (BMVC2019, Lovasz, Lovasz, Lovasz) 및 주사위-손실 (일반화 된 소프트 주사위 손실 및 배치 소프트 주사위 손실). 아마도 이것은 내 미래의 작업에 유용 할 것입니다.
또한 Swish, Hard-Swish (HSWISH) 및 Mish 활성화 기능을 구현하려고 시도했습니다.
또한 CUDA 기반의 한 가지 기능이 추가됩니다 (지원 레이블 Smooth).
"지수 이동 평균 (EMA)"연산자를 새로 추가하십시오.
COORNV2D 및 동적 CONV2D (DY-CONV2D)와 같은 Convolution OPS를 추가하십시오.
일부 운영자는 Pytorch Cuda Extension으로 구현되므로 먼저 컴파일해야합니다.
$ python -m pip install .
설치 후 이제 필요한 것을 선택하고 손실 또는 OPS와 같은 것들을 사용할 수 있습니다.
from pytorch_loss import SwishV1 , SwishV2 , SwishV3
from pytorch_loss import HSwishV1 , HSwishV2 , HSwishV3
from pytorch_loss import MishV1 , MishV2 , MishV3
from pytorch_loss import convert_to_one_hot , convert_to_one_hot_cu , OnehotEncoder
from pytorch_loss import EMA
from pytorch_loss import TripletLoss
from pytorch_loss import SoftDiceLossV1 , SoftDiceLossV2 , SoftDiceLossV3
from pytorch_loss import PCSoftmaxCrossEntropyV1 , PCSoftmaxCrossEntropyV2
from pytorch_loss import LargeMarginSoftmaxV1 , LargeMarginSoftmaxV2 , LargeMarginSoftmaxV3
from pytorch_loss import LabelSmoothSoftmaxCEV1 , LabelSmoothSoftmaxCEV2 , LabelSmoothSoftmaxCEV3
from pytorch_loss import GIOULoss , DIOULoss , CIOULoss
from pytorch_loss import iou_func , giou_func , diou_func , ciou_func
from pytorch_loss import FocalLossV1 , FocalLossV2 , FocalLossV3
from pytorch_loss import Dual_Focal_loss
from pytorch_loss import GeneralizedSoftDiceLoss , BatchSoftDiceLoss
from pytorch_loss import AMSoftmax
from pytorch_loss import AffinityFieldLoss , AffinityLoss
from pytorch_loss import OhemCELoss , OhemLargeMarginLoss
from pytorch_loss import LovaszSoftmaxV1 , LovaszSoftmaxV3
from pytorch_loss import TaylorCrossEntropyLossV1 , TaylorCrossEntropyLossV3
from pytorch_loss import InfoNceDist
from pytorch_loss import PartialFCAMSoftmax
from pytorch_loss import TaylorSoftmaxV1 , TaylorSoftmaxV3
from pytorch_loss import LogTaylorSoftmaxV1 , LogTaylorSoftmaxV3
from pytorch_loss import CoordConv2d , DY_Conv2d 일부 손실 또는 OPS는 LabelSmoothSoftmaxCEV1 , LabelSmoothSoftmaxCEV2 , LabelSmoothSoftmaxCEV3 와 같은 3 가지 버전을 가지고 있습니다. 여기서 V1 순수한 pytorch ops를 사용한 구현을 의미하고 torch.autograd V2 후진 계산에 대한 구현을 의미하지만 순수한 pytorch ops를 사용한 셀러어 V3 을 사용하는 것을 의미합니다. 일반적으로 V3 OPS는 하나의 CUDA 커널 기능으로 모든 것을 짜려고했기 때문에 더 빠르고 메모리 효율적입니다. 대부분의 경우 Pytorch OPS의 조합보다 오버 헤드가 적습니다.
이 repo를 찾는 사람들에게는 내 코드에 오류가 표시되면 언제든지 문제를 해결하십시오.