본문 바로가기

카테고리 없음

DRF+ AI) 웹개발 최종 - 3일차

테스트 코드 작성 및 개발환경 세팅

 

일부팀원에게서 또다시 poetry와 tensorflow관련하여 문제가 발생하였다.

 

1일차에서 해결했던 방법으로는 그냥 poetry add 하는 것에는 문제가 없었으나, poetry install을 이용해 설치하는데에는 여전히 오류가 발생하였다. 또한 같은 poetry.lock 파일을 이용하여 여러 운영체제에서 똑같이 poetry install을 이용하기에는 여전히 문제가 있었다.

이를 해결하기위해 시도해 보았다.

 

tensorflow-macos = { version = "^2.12.0", markers = "sys_platform == 'darwin' and platform_machine != 'x86_64'" }
tensorflow = { version = "^2.12.0", markers = "sys_platform != 'darwin' or platform_machine == 'x86_64'" }
tensorflow_io_gcs_filesystem = "*"

위와같이 패키지를 설치할 때 조건에 따라 설치 여부를 결정하도록 toml을 작성할 수 있다. sys_platform =='darwin'은 MacOs 계열의 운영체제를 사용하는지, 그렇지 않은지를 판별한다. platfrom_machine은 CPU가 어떤 architecture인지 판별하는데, intel i9을 사용하는 경우에는 x86_64이고(AMD64) M1칩을 사용하는 경우에는 해당하지 않는다.

따라서 위와같이 작성하면 1. 윈도우 운영체제 2. macos+m1 3. macos+i9 인 케이스를 모두 커버할 수 있다.

그러나 일부 환경에서 tensorflow_io_gcs_filesystem 0.32.0이 제대로 설치되지 않고 이전버전만 설치되는 문제를 고칠 수는 없었다.

 

poetry와 tensorflow로 인해 반복적으로 발생하는 오류들로 인해 conda를 활용할지 논의하였다. conda는 훨씬 많은 기본 설치 패키지들이 제공되는 대신 머신러닝관련 패키지들도 이미 설치가 되어있거나 conda install을 통해 손쉽게 설치가 가능하다. 그러나 필요없는패키지들의 설치 및 필요용량이 많음을 이유로 고민하였고, 결국 사용하지 않았다.

 

따라서 tensorflow는 당분간 모든 인원이 설치하지는 않고, 필요한 인원만 선택적으로 설치하여 사용하는 것으로 합의하였다. 단, 사용할 tensorflow의 버전은 2.12.0으로 통합하기로 했다.