WeChat 애플릿은 TensorFlow의 데모를 실행하며 코드는 때때로 애플릿 "AI Pocket"과 동기적으로 업데이트됩니다.
권장 시스템: MacOS
NodeJS: v18.xx
WeChat 기본 라이브러리 버전: >= 2.29.0
WeChat 개발자 도구: >= v1.06.2210310
WeChat 개발자 도구의 프로젝트 구성:
appid
구성을 수정합니다.npm i
종속성을 설치합니다(때로는 npm i --force
사용해야 할 수도 있음).npm run build
컴파일 종속성 TensorFlow.js가 작은 프로그램에서 실행될 수 있도록 tfjs-core를 변환합니다. 애플릿은 이미징을 위해 카메라를 호출하고 canvas
에 이미지를 표시합니다. canvas
의 "ImageData 유사" 데이터는 애플릿의 API를 통해 얻을 수 있으며, 그런 다음 예측을 구현하기 위해 tfjs API가 호출됩니다.
구현의 울퉁불퉁한 경험에 관심이 있다면 tfjs를 WeChat 애플릿에 이식하고 TensorFlowJS 이식을 다시 시도하는 방법에 대한 블로그 게시물을 읽어보세요.
tfjs는 특히 "이식"을 달성하기 위해 platform
확장하여 여러 플랫폼에 대한 지원을 우아하게 구현했으며 WeChat 애플릿도 더 유리한 API를 개방했기 때문에 tfjs를 수정하는 침입적인 방법은 더 이상 WeChat 플러그를 사용하지 않습니다. tfjs에서 모델 로딩, 훈련, 예측 및 기타 기능을 제공합니다.
이전보다 훨씬 편리해졌지만, 애플릿의 onCameraFrame
에서 얻은 프레임 데이터가 표시되는 내용과 일치하지 않고, 원본 프레임 데이터가 장치마다 다르게 처리됩니다(동일한 장치의 전면 카메라와 후면 카메라도 마찬가지입니다). 정확한 예측 결과를 얻는 것은 정말 어렵습니다.
현재 일련의 프레임 데이터 자르기 방법을 알아내고 간단히 테스트해 보았는데 결과가 좋습니다. 처리가 불가능한 모델이 있을 경우 Issue & PR을 제출해주세요. .
이제 미니 프로그램의 프레임 데이터 자르기 방법이 다양한 플랫폼에서 일관되게 적용되었습니다.
미니 프로그램 이름이 'AI 포켓'으로 바뀌었습니다. 그래도 의미가 있어서 이 미니 프로그램을 진지하게 만들어 볼 생각입니다. 미니 프로그램의 QR 코드가 첨부되어 있습니다. 누구나 체험하고 개선 사항을 제안하실 수 있습니다!
저는 프론트엔드와 백엔드 개발, Docker & Swarm, 지속적 배포, 인공지능 NLP에 대한 경험을 쌓아왔습니다. 기회가 된다면 언제든지 문의해주세요. 다양한 연락 방법.
또한 이 프로젝트의 코드는 오픈 소스이므로 관심 있는 학생들의 기여를 환영합니다. 물론, 상업적 이용에는 제한이 없으나, 타인의 작업을 존중해 주시고, "불친절한" 행위를 하지 마시기 바랍니다. 이 프로젝트가 도움이 되셨다면, 팁을 주시기 바랍니다.
내 개인 블로그나 개인 WeChat 공개 계정인 "Hunter Grocery Store"를 팔로우하실 수 있습니다. 종종 기술 공유 및 생활 통찰을 나누실 수 있습니다.
공식 계정을 팔로우하고 메시지를 남겨주시면 "AI 포켓 커뮤니케이션 그룹"의 QR코드를 받아 원활한 소통이 가능합니다! ~