NVIDIA, CT Organ Segmentation AI 사용
전제
Nvidia-Docker가 필요합니다.
절차
위 링크의 페이지에 있는 대로 실행해 가는 것뿐입니다.
먼저 테스트 데이터, 모델, 예측 결과 등을 저장할 위치를 만듭니다.
mkdir -p input output
훈련된 모델을 활용하는 데 사용하는 서버를 위해 docker 네트워크(예: claranet)를 만듭니다.
docker network create claranet
훈련된 모델을 다운로드합니다.
mkdir -p models
docker run -it --rm -u $UID:$UID -v $(pwd):/data --entrypoint "" nvcr.io/nvidia/clara-ai:0.1.2 bash -c 'rsync -a --info=progress2 /models /data'
테스트에 사용할 이미지를 다운로드합니다.
# Download 'input/test' folder from the internet.
mkdir -p input/test
wget -q https://www.dropbox.com/s/5fk0m9v12if5da9/dense_vnet_abdominal_ct_model_zoo_data.tar.gz?dl=1 -O - | tar xvz -C input/test
rm input/test/100_Label.nii # Remove unnecessary label image.
간편하게 테스트하기 위해 TRITIS라는 서버 컨테이너를 Docker에서 시작합니다.
nvidia-docker run -it --rm -d \
--shm-size=1g \
--ulimit memlock=-1 \
--ulimit stack=67108864 \
--name trtis \
--network claranet \
-p 8000:8000 \
-v `pwd`/models/v_net:/models/v_net \
nvcr.io/nvidia/tensorrtserver:18.11-py3 \
trtserver --model-store=/models
또 다른 clara-ai 서버를 설정합니다. (위의 서버와 어느 쪽이 어플리케이션 서버? 그 근처 알고 있지 않습니다. 미안해.)
nvidia-docker run -it --rm -d \
--name ai \
--network claranet \
-p 5002:5002 \
-e CIM_APP_FOLDER_NAME=custom_application_vnet \
-e CIM_APP_SKIP_INSTALL=true \
-v $(pwd)/input:/ai/in \
-v $(pwd)/output:/ai/out \
nvcr.io/nvidia/clara-ai:0.1.2 \
serve --input_folder=/ --output_folder=/ \
--trtis_url=trtis:8000 --port=5002
처리 실행
# .nii file is interpreted as image with LPS axis code so transpose it to ARS to match with vnet model
curl -H "Content-Type: application/json" \
-d '{"name":"test","workflow":5,"pre_axcodes":"ARS"}' \
http://localhost:5002/ai
그렇다면 특별한 오류가 없으면 결과가 "output/test"폴더에 저장됩니다.
이 예에서는 '100_CT.seg.raw'가 결과입니다.
raw 화상 데이터이므로, (144,144)의 매트릭스로, 144 슬라이스 화상이 되어 있습니다. (iso군요)
Fiji(imagej)에서 열어 보겠습니다.
이상입니다.
Reference
이 문제에 관하여(NVIDIA, CT Organ Segmentation AI 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatsunidas/items/f08c6ebd41564f8a006a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
위 링크의 페이지에 있는 대로 실행해 가는 것뿐입니다.
먼저 테스트 데이터, 모델, 예측 결과 등을 저장할 위치를 만듭니다.
mkdir -p input output
훈련된 모델을 활용하는 데 사용하는 서버를 위해 docker 네트워크(예: claranet)를 만듭니다.
docker network create claranet
훈련된 모델을 다운로드합니다.
mkdir -p models
docker run -it --rm -u $UID:$UID -v $(pwd):/data --entrypoint "" nvcr.io/nvidia/clara-ai:0.1.2 bash -c 'rsync -a --info=progress2 /models /data'
테스트에 사용할 이미지를 다운로드합니다.
# Download 'input/test' folder from the internet.
mkdir -p input/test
wget -q https://www.dropbox.com/s/5fk0m9v12if5da9/dense_vnet_abdominal_ct_model_zoo_data.tar.gz?dl=1 -O - | tar xvz -C input/test
rm input/test/100_Label.nii # Remove unnecessary label image.
간편하게 테스트하기 위해 TRITIS라는 서버 컨테이너를 Docker에서 시작합니다.
nvidia-docker run -it --rm -d \
--shm-size=1g \
--ulimit memlock=-1 \
--ulimit stack=67108864 \
--name trtis \
--network claranet \
-p 8000:8000 \
-v `pwd`/models/v_net:/models/v_net \
nvcr.io/nvidia/tensorrtserver:18.11-py3 \
trtserver --model-store=/models
또 다른 clara-ai 서버를 설정합니다. (위의 서버와 어느 쪽이 어플리케이션 서버? 그 근처 알고 있지 않습니다. 미안해.)
nvidia-docker run -it --rm -d \
--name ai \
--network claranet \
-p 5002:5002 \
-e CIM_APP_FOLDER_NAME=custom_application_vnet \
-e CIM_APP_SKIP_INSTALL=true \
-v $(pwd)/input:/ai/in \
-v $(pwd)/output:/ai/out \
nvcr.io/nvidia/clara-ai:0.1.2 \
serve --input_folder=/ --output_folder=/ \
--trtis_url=trtis:8000 --port=5002
처리 실행
# .nii file is interpreted as image with LPS axis code so transpose it to ARS to match with vnet model
curl -H "Content-Type: application/json" \
-d '{"name":"test","workflow":5,"pre_axcodes":"ARS"}' \
http://localhost:5002/ai
그렇다면 특별한 오류가 없으면 결과가 "output/test"폴더에 저장됩니다.
이 예에서는 '100_CT.seg.raw'가 결과입니다.
raw 화상 데이터이므로, (144,144)의 매트릭스로, 144 슬라이스 화상이 되어 있습니다. (iso군요)
Fiji(imagej)에서 열어 보겠습니다.
이상입니다.
Reference
이 문제에 관하여(NVIDIA, CT Organ Segmentation AI 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tatsunidas/items/f08c6ebd41564f8a006a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)