주요 콘텐츠

trainCellpose

사용자 지정 Cellpose 모델 훈련

R2023b 이후

설명

trainCellpose(dataFolder,outputModelFile)은 Cellpose Library에 대한 인터페이스를 제공하여 사용자 지정 Cellpose 모델을 훈련시킵니다. 디폴트 옵션으로 모델을 훈련시키려면 이 구문을 사용합니다. 이 함수는 dataFolder 폴더의 훈련 영상과 레이블 영상 쌍을 식별하고, 각 레이블 영상이 대응되는 훈련 영상과 동일한 파일 이름(접미사 "_labels"가 추가됨)을 갖는다고 가정합니다.

예제

trainCellpose(dataFolder,outputModelFile,Name=Value)는 하나 이상의 이름-값 인수를 사용하여 옵션을 지정합니다. 예를 들어, ImageSuffix="_imRGB"는 지정된 데이터 폴더에서 파일 이름이 _imRGB로 끝나는 영상만 사용하여 모델을 훈련시킵니다.

참고

이 기능을 사용하려면 Deep Learning Toolbox™, Computer Vision Toolbox™ 및 Medical Imaging Toolbox™ Interface for Cellpose Library가 필요합니다. 애드온 탐색기에서 Medical Imaging Toolbox Interface for Cellpose Library를 설치할 수 있습니다. 애드온 설치에 대한 자세한 내용은 애드온을 받고 관리하기 항목을 참조하십시오.

예제

모두 축소

사용자 지정 Cellpose 모델을 훈련시킵니다. 이 예제에서는 가상의 훈련 데이터 세트에 trainCellpose 함수를 사용하는 방법을 보여줍니다.

이 함수에는 훈련 데이터 경로와 새로 훈련된 모델을 입력값으로 저장하기 위한 경로가 필요합니다.

dataFolder = "C:\trainingData";
outputModelFile = "C:\cellposeModels\retrainedCyto2Model"

기본적으로 이 함수는 Cellpose Library의 cyto2 모델 복사본을 다시 훈련시킵니다. 다음 코드는 ImageSuffix_imRGBLabelSuffix_mask를 사용하여 훈련 영상과 레이블 영상의 접미사를 각각 지정합니다. 예를 들어, 함수는 im1_imRGB.pngim1_mask.png라는 파일을 훈련 영상과 ground truth 레이블 영상으로 인식합니다.

trainCellpose(dataFolder,outputModelFile,...
    MaxEpochs=2,...
    ImageSuffix="_imRGB",...
    LabelSuffix="_mask");

입력 인수

모두 축소

데이터 폴더 경로로, string형 스칼라 또는 문자형 벡터로 지정됩니다. dataFolder를 훈련 영상과 그에 대응하는 ground truth 레이블 영상을 포함하는 폴더에 대한 경로로 지정합니다.

  • 훈련 영상의 파일 형식은 TIFF, JPEG 또는 PNG이어야 합니다.

  • ground truth 레이블 영상의 파일 형식은 TIFF 또는 PNG이어야 합니다. 각 ground truth 영상은 그에 대응되는 훈련 영상과 이름이 같아야 하며 LabelSuffix로 지정된 접미사가 있어야 합니다.

참고

이 함수가 중간 흐름 파일을 데이터 폴더에 쓰기 때문에 데이터 폴더에 쓰기 권한이 있어야 합니다. 사용자가 훈련을 여러 번 수행하는 경우 함수는 훈련 속도를 높이기 위해 중간 파일을 재사용합니다.

데이터형: char | string

출력 모델 파일로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 함수가 훈련된 모델을 쓸 폴더의 전체 경로를 지정합니다.

데이터형: char | string

이름-값 인수

모두 축소

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: trainCellpose(dataFolder,outputModelFile,PretrainedModel="")는 사전 훈련된 모델을 다시 훈련시키는 대신 초기화되지 않은 Cellpose 모델을 훈련시킵니다.

훈련 영상 접미사로, string형 스칼라 또는 문자형 벡터로 지정됩니다. dataFolder의 훈련 영상을 필터링할 때 적용할 접미사(파일 확장자는 제외)를 지정하려면 이 인수를 사용하십시오. 지정되면 trainCellpose는 해당 접미사로 끝나지 않은 영상을 훈련에서 제외합니다.

데이터형: char | string

분할을 위한 훈련된 신경망의 기본 채널로, 다음 옵션 중 하나로 지정됩니다.

  • "average" — 채널 간 평균값을 훈련에 사용합니다. 회색조 영상에 이 값을 사용합니다.

  • "R" — RGB 영상의 빨간색 채널에 해당하는 첫 번째 영상 채널을 훈련에 사용합니다.

  • "G" — RGB 영상의 녹색 채널에 해당하는 두 번째 영상 채널을 훈련에 사용합니다.

  • "B" — RGB 영상의 파란색 채널에 해당하는 세 번째 영상 채널을 훈련에 사용합니다.

이 인수는 Cellpose Library의 chan 파라미터에 대응됩니다.

데이터형: char | string

훈련에 사용할 보조 채널로, "none", "R", "G", "B"로 지정됩니다. 이 값이 "none"이면 함수는 훈련하는 동안 모든 값이 0인 보조 영상을 사용합니다. 이 인수는 Cellpose Library의 chan2 파라미터에 대응됩니다.

데이터형: char | string

레이블 접미사로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 이 함수는 레이블 접미사를 사용하여 dataFolder에서 ground truth 레이블 파일을 검색합니다. 기본적으로 함수는 "_labels"로 끝나는 파일을 ground truth 레이블로 사용합니다.

데이터형: char | string

전이 학습에서 훈련을 위한 기본 모델로 사용할 사전 훈련된 모델로, 다음 값 중 하나로 지정됩니다.

  • "" — 초기화되지 않은 Cellpose 신경망으로 훈련을 시작합니다.

  • 절대 경로 — 컴퓨터에서 모델의 절대 경로를 지정하여, 훈련된 사용자 지정 모델로 훈련을 시작합니다.

  • 사전 훈련된 Cellpose Library 모델의 이름 — 다음 옵션 중 하나로 지정된 사전 훈련된 Cellpose 모델로 훈련을 시작합니다. 사전 훈련된 모델과 그 훈련 데이터에 대한 자세한 내용은 Cellpose Library Documentation을 참조하십시오.

    • "cyto"

    • "cyto2"

    • "CP"

    • "CPx"

    • "nuclei"

    • "livecell"

    • "LC1"

    • "LC2"

    • "LC3"

    • "LC4"

    • "tissuenet"

    • "TN1"

    • "TN2"

    • "TN3"

데이터형: char | string

사전 훈련된 모델 폴더 경로로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 이 인수는 훈련시킬 Cellpose 모델이 포함된 폴더의 전체 경로여야 합니다. 기본적으로 ModelFolderuserpath 함수에서 반환된 폴더 내의 cellposeModels라는 하위 폴더입니다. 이 인수는 PretrainedModel""로 지정하여 초기화되지 않은 모델을 훈련시키는 경우에는 아무런 영향을 미치지 않습니다.

데이터형: char | string

검출 가능한 세포 지름으로, 숫자형 스칼라로 지정됩니다. 이 인수는 훈련된 모델이 검출할 세포 지름을 지정합니다. 이 인수는 PreTrainedModel""로 지정하여 초기화되지 않은 모델을 훈련시키는 경우에만 효력이 있습니다. 사전 훈련된 모델에서 훈련을 시작하는 경우 새로 훈련된 모델에서 검출 가능한 세포 지름은 사전 훈련된 모델에서 검출 가능한 세포 지름과 같습니다. 이 인수는 Cellpose Library의 diam_mean 파라미터에 대응됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

훈련에 사용되는 하드웨어 리소스로, 다음 값 중 하나로 지정됩니다.

  • "auto" — 사용 가능한 하나의 GPU가 있으면 이를 사용합니다. 그렇지 않은 경우 CPU를 사용합니다.

  • "cpu" — CPU를 사용합니다.

  • "gpu" — GPU를 사용합니다.

"gpu" 옵션을 사용하려면 Parallel Computing Toolbox™가 필요합니다. 딥러닝을 위해 GPU를 사용하려면 지원되는 GPU 장치도 필요합니다. 지원되는 장치에 대한 자세한 내용은 GPU 연산 요구 사항 (Parallel Computing Toolbox) 항목을 참조하십시오. "gpu" 옵션을 선택했는데 Parallel Computing Toolbox 또는 적합한 GPU가 없는 경우, 함수에서 오류를 반환합니다.

데이터형: char | string

훈련에 사용할 초기 학습률로, 숫자형 스칼라로 지정됩니다. 이 인수는 Cellpose Library의 learning_rate 파라미터에 대응됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

가중치 감쇠로, 숫자형 스칼라로 지정됩니다. 이 인수는 Cellpose Library의 weight_decay 파라미터에 대응됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

검사 지점 모델 파일을 저장할 경로로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 기본적으로 trainCellposeoutputModelFile과 동일한 부모 폴더 내의 중간 모델 파일을 model이라는 하위 폴더 내에 저장합니다. 이 인수는 Cellpose Library의 save_path 파라미터에 대응됩니다.

데이터형: char | string

훈련 중 검사 지점 모델 파일을 저장하는 빈도로, 양의 정수(단위: Epoch)로 지정됩니다. 이 함수는 매 CheckpointFrequency Epoch마다 모델 파일을 저장합니다. 이 인수는 Cellpose Library의 save_every 파라미터에 대응됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

훈련에 사용되는 최대 Epoch 횟수로, 양의 정수로 지정됩니다. 이 인수는 Cellpose Library의 n_epochs 파라미터에 대응됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

GPU 배치(batch)의 크기로, 양의 정수로 지정됩니다. 이 인수는 GPU에서 훈련할 때만 효력이 있습니다. 배치 크기는 배치별 영상 개수를 지정합니다. 배치 크기를 늘리면 속도가 빨라지지만 메모리 요구 사항도 늘어납니다. 이 인수는 Cellpose Library의 batchsize 파라미터에 대응됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

참고 문헌

[1] Stringer, Carsen, Tim Wang, Michalis Michaelos, and Marius Pachitariu. “Cellpose: A Generalist Algorithm for Cellular Segmentation.” Nature Methods 18, no. 1 (January 2021): 100–106. https://doi.org/10.1038/s41592-020-01018-x.

[2] Pachitariu, Marius, and Carsen Stringer. “Cellpose 2.0: How to Train Your Own Model.” Nature Methods 19, no. 12 (December 2022): 1634–41. https://doi.org/10.1038/s41592-022-01663-4.

버전 내역

R2023b에 개발됨