[JAX] Windows에서도 JAX 사용하기

2023. 2. 24. 15:20·연구 Research/인공지능 Artificial Intelligent

JAX는 아직 리눅스에서밖에 사용이 안된다.

그래서 윈도우에서 돌릴 수 있는 방법을 찾아보았는데 최신 버전은 불가능하고 예전 버전은 가능하다. JAX가 아직 초기이다보니 버전마다 많이 바뀌어서 불편한 점이 있지만 일단 시도한 경험을 공유한다.

 

 

아래 링크를 들어가면 대략적인 instruction을 알 수 있다.

 

https://github.com/cloudhan/jax-windows-builder

 

GitHub - cloudhan/jax-windows-builder: A community supported Windows build for jax.

A community supported Windows build for jax. Contribute to cloudhan/jax-windows-builder development by creating an account on GitHub.

github.com

 

1. JAX 설치

 

위 링크에 들어가보면 pip으로 install 할 수 있는데 이는 jax만 설치하는 것이다. 필자의 경우에는 아래 있는 명령어를 사용해서 설치했다. 참고로 호환문제 때문에 저렇게만 쓰면 곤란하고 jax[cuda111]==버전 이렇게 지정해야 된다.

 

아래에서 설명할 jaxlib 설치할 때 보면 jaxlib이 0.3번대 밖에 없어서 jax 0.4이상 버전은 호환이 불가능하다.

 

다음과 같이 ==0.3.1처럼 버전을 지정해줄 수 있다.

 

pip install jax[cuda111]==0.3.1 -f https://whls.blob.core.windows.net/unstable/index.html --use-deprecated legacy-resolver

 

2.  Jaxlib 설치

 

위와 같이 jax만 설치하면 안되고 jaxlib이 필요하다. 그래서 다음 링크에 들어가서 wheel을 다운 받아야 한다.

 

https://whls.blob.core.windows.net/unstable/index.html

 

https://whls.blob.core.windows.net/unstable/index.html

 

whls.blob.core.windows.net

위에서 보면 여러 개의 whl 파일이 있는데 본인이 설치하고 싶은 버전으로 다운 받는다.

 

일단 필자는 테스트용으로 0.3.7을 다운 받았다.

 

cp39가 무슨 뜻인지 몰라서 알아보니 다음과 같다.

These stand for the version of CPython (i.e. the Python official distribution you get from python.org) which the wheel files are built for.

본인이 설치하고자 하는 가상환경의 파이썬 버전을 맞춰주면 된다.

이걸 다운 받고 

 

# download jaxlib from https://whls.blob.core.windows.net/unstable/index.html
pip install <jaxlib_whl> # <jaxlib_whl>에 아까 다운받은 파일명을 넣어야 한다.
pip install jax
pip install jax[cuda111] -f https://whls.blob.core.windows.net/unstable/index.html --use-deprecated legacy-resolver

위 코드를 실행시켜서 jaxlib까지 설치한다. jaxlib을 설치할 때는 당연히 경로가 그 파일(.whl)이 있는 경로에서 실행해야 한다.

아래의 jax 설치는 jax==0.x.x 과 같이 버전을 정해줘야한다.

 

 

3. 버전 맞춰주기

 

하지만 여기서 문제가 있는 게 우리가 설치한 jax는 버전을 특정하지 않으면 가장 최신인 0.4.4가 설치되고, 위의 jaxlib 0.3.7은 너무 옛날 것이라서 호환이 안된다. 따라서 jax를 다운그레이드 시키는 것을 권한다.

 

버전을 고려할 때는 개발 과정을 찾아봐야한다.

https://jax.readthedocs.io/en/latest/changelog.html

 

나의 경우에는 jax 0.3.1을 써야해서 jaxlib은 0.3.0을 설치해야했다.

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'연구 Research > 인공지능 Artificial Intelligent' 카테고리의 다른 글

[AI] Sampyl에 대한 간단한 설명  (0) 2023.03.05
[PyTorch] 개별 파라미터 learning rate 다르게 설정 및 learning rate 확인  (2) 2023.03.05
[에러기록] assertionerror: if capturable=false, state_steps should not be cuda tensors.  (0) 2023.02.23
[인공지능] Windows 기준 CUDA & cuDNN 최신 버전 설치 (CUDA 11.6 이상)  (0) 2023.02.07
[PyTorch] retain_graph = True라고 했음에도 backward 문제가 발생하는 경우  (0) 2023.01.05
'연구 Research/인공지능 Artificial Intelligent' 카테고리의 다른 글
  • [AI] Sampyl에 대한 간단한 설명
  • [PyTorch] 개별 파라미터 learning rate 다르게 설정 및 learning rate 확인
  • [에러기록] assertionerror: if capturable=false, state_steps should not be cuda tensors.
  • [인공지능] Windows 기준 CUDA & cuDNN 최신 버전 설치 (CUDA 11.6 이상)
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (468)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability &amp; Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (27)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 실험 Experiment (1)
      • 유학 생활 Daily (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MATLAB
    텝스
    pytorch
    수치해석
    고체역학
    Zotero
    Dear abby
    서버
    Python
    텝스공부
    딥러닝
    Statics
    Numerical Analysis
    논문작성법
    teps
    LaTeX
    논문작성
    obsidian
    IEEE
    JAX
    ChatGPT
    WOX
    에러기록
    matplotlib
    옵시디언
    생산성
    인공지능
    Linear algebra
    Julia
    우분투
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[JAX] Windows에서도 JAX 사용하기
상단으로

티스토리툴바