체인 이미지 처리 작업을 쉽고 사용자 정의할 수 있도록 하는 것을 목표로 하는 노드 기반 이미지 처리 GUI입니다. AI 업스케일링 애플리케이션으로 탄생한 chaiNNer는 매우 유연하고 강력한 프로그래밍 방식의 이미지 처리 애플리케이션으로 성장했습니다.
ChaiNNer는 다른 사람들이 거의 수행하지 않는 이미지 처리 작업 흐름의 사용자 정의 수준을 제공합니다. 처리 파이프라인을 완전히 제어할 수 있을 뿐만 아니라 몇 개의 노드를 함께 연결하는 것만으로도 엄청나게 복잡한 작업을 수행할 수 있습니다.
ChaiNNer는 크로스 플랫폼이기도 합니다. 즉, Windows, MacOS 및 Linux에서 실행할 수 있습니다.
도움이나 제안을 원하거나 그냥 어울리고 싶다면 chaiNNer Discord 서버에 가입하세요.
기억하세요: chaiNNer는 아직 진행 중인 작업이며 알파 단계입니다. 우리가 원하는 위치에 서서히 더 많은 기능이 추가되고 있지만, 추가하려는 가능한 모든 기능을 갖추려면 상당한 시간이 걸릴 것입니다. TypeScript, React 또는 Python에 대한 지식이 있다면 자유롭게 이 프로젝트에 기여하여 우리가 해당 목표에 더 가까워질 수 있도록 도와주세요.
Github 릴리스 페이지에서 최신 릴리스를 다운로드하고 시스템에 가장 적합한 설치 프로그램을 실행하십시오. 그렇게 간단합니다.
chaiNNer는 시작 시 격리된 통합 Python 빌드를 다운로드하므로 Python을 설치할 필요조차 없습니다. 여기에서 종속성 관리자를 통해 다른 모든 종속성을 설치할 수 있습니다.
시스템 Python 설치를 계속 사용하려면 시스템 Python 설정을 켜면 됩니다. 그러나 통합 Python을 사용하는 것이 훨씬 더 권장됩니다. 시스템 Python을 사용하려면 Python 3.11을 사용하는 것이 좋지만 3.8, 3.9 및 3.10도 지원하려고 노력하고 있습니다.
최신 변경 사항과 조정 사항을 테스트하고 싶다면 nightly 빌드를 사용해 보세요.
가능한 모든 옵션으로 인해 처음에는 위협적으로 보일 수 있지만, chaiNNer는 사용이 매우 간단합니다. 예를 들어, 고급화를 수행하기 위해 수행해야 할 작업은 다음과 같습니다.
하지만 이 지점에 도달하기 전에 종속성 관리자에서 신경망 프레임워크 중 하나를 설치해야 합니다. 오른쪽 상단에 있는 버튼을 통해 액세스할 수 있습니다. ChaiNNer는 PyTorch(일부 모델 아키텍처 포함), NCNN 및 ONNX를 지원합니다. Nvidia 사용자의 경우 PyTorch가 선호되는 고급 방법이 될 것입니다. AMD 사용자에게는 NCNN이 선호되는 고급화 방법이 될 것입니다.
다른 모든 Python 종속성은 자동으로 설치되며 chaiNNer는 자체 통합 Python 지원을 제공하므로 기존 Python 구성을 수정할 필요가 없습니다.
그런 다음 선택 패널에서 노드 이름을 드래그 앤 드롭(또는 두 번 클릭)하여 편집기로 가져오기만 하면 됩니다. 그런 다음 한 노드 핸들에서 다른 노드 핸들로 드래그하여 노드를 연결합니다. 각 핸들은 특정 유형에 따라 색상으로 구분되어 있으며 연결하는 동안 호환되는 연결만 표시됩니다. 이렇게 하면 무엇을 어디에 연결해야 할지 매우 쉽게 알 수 있습니다.
편집기에서 작업 체인을 설정한 후에는 상단 표시줄에 있는 녹색 "실행" 버튼을 눌러 만든 체인을 실행할 수 있습니다. 노드 간의 연결이 애니메이션화되고 처리가 완료되면 애니메이션이 해제되기 시작하는 것을 볼 수 있습니다. 각각 빨간색 "중지" 및 노란색 "일시 중지" 버튼을 사용하여 처리를 중지하거나 일시 중지할 수 있습니다.
chaiNNer로 할 수 있는 업스케일링 이외의 작업도 많이 있다는 것을 잊지 마세요!
여러 노드를 선택하려면 Shift 키를 누른 채 선택하려는 모든 노드 주위를 드래그하세요. 개별 노드를 클릭하여 선택할 수도 있습니다. 노드가 선택되면 백스페이스나 삭제를 눌러 편집기에서 삭제할 수 있습니다.
이미지 폴더에 대해 일괄 처리를 수행하려면 "이미지 로드" 노드를 사용하세요. 비디오를 처리하려면 "비디오 로드" 노드를 사용하세요. 그러나 "이미지 로드" 및 "비디오 로드" 노드(또는 일괄 반복을 수행하는 두 노드)를 체인에서 함께 사용할 수 없다는 점에 유의하는 것이 중요합니다. 그러나 예를 들어 "비디오 로드"와 함께 "이미지 저장"을 사용하고 "이미지 로드"와 함께 "비디오 저장"을 사용하는 등 체인의 출력(컬렉터) 노드를 결합할 수 있습니다.
에디터 뷰포트에서 우클릭하여 선택할 수 있는 인라인 노드 목록을 표시할 수 있습니다. 실제 연결을 만드는 대신 연결을 편집기로 끌어서 이 메뉴를 가져올 수도 있으며, 자동으로 연결을 생성할 수 있는 호환 노드가 표시됩니다.
MacOS 버전 10.x 이하는 지원되지 않습니다.
Windows 버전 8.1 이하도 지원되지 않습니다.
Apple Silicon Mac은 거의 모든 것을 지원해야 합니다. 하지만 ONNX는 CPU Execution Provider만 지원하므로 NCNN이 제대로 작동하지 않는 경우가 있습니다.
Nvidia GPU가 아닌 일부 NCNN 사용자는 올블랙 출력을 얻을 수 있습니다. 메모리 부족으로 인해 그래픽 드라이버가 충돌하기 때문에 이 문제를 해결하려면 어떻게 해야 할지 잘 모르겠습니다. 이런 일이 발생하면 타일링 양을 수동으로 설정해 보세요.
클립보드 노드를 사용하려면 Linux 사용자는 xclip이 필요하고 wayland 사용자의 경우 wl-copy가 설치되어 있어야 합니다.
PyTorch 추론의 경우 Nvidia GPU만 공식적으로 지원됩니다. Nvidia GPU가 없으면 CPU 모드에서 PyTorch를 사용해야 합니다. PyTorch는 Nvidia의 CUDA만 지원하기 때문입니다. Apple Silicon Mac을 사용하는 MacOS 사용자는 chaiNNer와 함께 작동하는 PyTorch의 MPS 모드를 활용할 수도 있습니다.
그러나 NCNN을 지원하는 AMD 또는 Intel GPU가 있는 경우 chaiNNer는 이제 NCNN 추론을 지원합니다. 기존 NCNN .bin/.param 모델 파일을 사용하거나(ESRGAN 관련 SR 모델만 테스트됨) chaiNNer를 사용하여 PyTorch 또는 ONNX 모델을 NCNN으로 변환할 수 있습니다.
NCNN의 경우 설정에서 사용할 GPU를 선택하세요. 통합 그래픽이 기본값으로 설정되어 있을 수 있습니다!
Nvidia GPU의 경우 ONNX를 사용할 수도 있습니다. ONNX는 PyTorch와 유사하게 Nvidia GPU가 아닌 GPU에서 CPU 모드를 사용합니다.
ChaiNNer는 현재 제한된 양의 신경망 아키텍처를 지원합니다. 앞으로 더 많은 아키텍처가 지원될 예정입니다.
v0.21.0부터 chaiNNer는 Spandrel이라는 새로운 패키지를 사용하여 Pytorch 모델 아키텍처를 지원합니다. 지원되는 목록을 보려면 해당 목록을 확인하세요.
문제 해결 정보는 문제 해결 문서를 참조하세요.
저는 여기 GitHub에서 사전 구축된 버전의 chaiNNer를 제공합니다. 그러나 chaiNNer를 직접 빌드하려면 npm install
(적어도 npm v7이 설치되어 있는지 확인)을 실행하여 모든 nodejs 종속성을 설치하고 npm run make
실행하여 애플리케이션을 빌드하세요.
FAQ 정보는 FAQ 문서를 참조하세요.