찾다
기술 주변기기일체 포함Jax, Flax 및 Optax를 사용한 이미지 분류

이 튜토리얼은 JAX, Flax 및 Optax를 사용하여 MNIST 숫자 분류를위한 CNN (Convolutional Neural Network)을 구축, 훈련 및 평가하는 것을 보여줍니다. 환경 설정 및 데이터 전처리에서 모델 아키텍처, 교육 루프 구현, 메트릭 시각화 및 사용자 정의 이미지에 대한 예측에 이르기까지 모든 것을 다룹니다. 이 접근법은 효율적이고 확장 가능한 딥 러닝을 위해 이러한 라이브러리의 시너지 강점을 강조합니다.

학습 목표 :

  • 간소화 된 신경망 개발을 위해 Jax, Flax 및 Optax의 통합을 마스터하십시오.
  • TFDS (Tensorflow DataSets)를 사용하여 전처리 및로드 데이터 세트를 배우십시오.
  • 효과적인 이미지 분류를 위해 CNN을 구현하십시오.
  • 주요 메트릭 (손실 및 정확성)을 사용하여 교육 진행 상황을 시각화합니다.
  • 사용자 정의 이미지에서 모델의 성능을 평가하십시오.

이 기사는 Data Science Blogathon의 일부입니다.

목차 :

  • 학습 목표
  • Jax, Flax 및 Optax Powerhouse
  • JAX 설정 : 설치 및 가져 오기
  • MNIST 데이터 : 로딩 및 전처리
  • CNN 구성
  • 모델 평가 : 메트릭 및 추적
  • 훈련 루프
  • 교육 및 평가 실행
  • 성능 시각화
  • 사용자 정의 이미지로 예측
  • 결론
  • 자주 묻는 질문

Jax, Flax 및 Optax Powerhouse :

효율적이고 확장 가능한 딥 러닝에는 계산, 모델 설계 및 최적화를위한 강력한 도구가 필요합니다. Jax, Flax 및 Optax는 이러한 요구를 종합적으로 해결합니다.

Jax : 수치 컴퓨팅 우수성 :

JAX는 Numpy와 같은 인터페이스로 고성능 수치 계산을 제공합니다. 주요 기능은 다음과 같습니다.

  • 자동 차별화 (AutoGrad) : 복잡한 기능에 대한 손쉬운 기울기 계산.
  • JIT (Just-In-Time) 컴파일 : CPU, GPU 및 TPU의 실행 가속화.
  • 벡터화 : vmap 통한 단순화 된 배치 처리.
  • 하드웨어 가속 : GPU 및 TPU에 대한 기본 지원.

아마 : 유연한 신경망 :

Jax 기반 라이브러리 인 Flax는 신경망 구성에 대한 사용자 친화적이고 고도로 사용자 정의 가능한 접근 방식을 제공합니다.

  • 상태가 높은 모듈 : 단순화 된 매개 변수 및 상태 관리.
  • Concise API : @nn.compact 데코레이터를 사용한 직관적 인 모델 정의.
  • 적응성 : 단순에서 복잡한 다양한 아키텍처에 적합합니다.
  • Seamless Jax 통합 : Jax의 기능을 쉽게 활용합니다.

Optax : 포괄적 인 최적화 :

Optax는 그라디언트 처리 및 최적화를 간소화하여 제공합니다.

  • Optimizer Variety : SGD, Adam 및 RMSPROP를 포함한 광범위한 최적화기.
  • 그라디언트 조작 : 클리핑, 스케일링 및 정규화 도구.
  • 모듈 식 설계 : 그라디언트 변환 및 최적화의 쉬운 조합.

이 결합 프레임 워크는 효율적인 딥 러닝 모델 개발을위한 강력한 모듈 식 생태계를 제공합니다.

Jax, Flax 및 Optax를 사용한 이미지 분류

JAX 설정 : 설치 및 가져 오기 :

필요한 라이브러리 설치 :

 ! PIP 설치 -업그레이드 -Q PIP JAX JAXLIB FLAX OPTAX TENSORFLOW -DATASETS

필수 라이브러리 가져 오기 :

 Jax를 가져옵니다
jax.numpy를 JNP로 가져옵니다
아마 수입 리넨에서 Nn
flax에서 트레인 트레인 _state
Optax 가져 오기
Numpy를 NP로 가져옵니다
Tensorflow_datasets를 TFD로 가져옵니다
matplotlib.pyplot을 plt로 가져옵니다

MNIST 데이터 : 로딩 및 전처리 :

TFDS를 사용하여 MNIST 데이터 세트를로드하고 전처리합니다.

 def get_datasets () :
  ds_builder = tfds.builder ( 'mnist')
  ds_builder.download_and_prepare ()
  Train_ds = tfds.as_numpy (ds_builder.as_dataset (split = 'train', batch_size = -1))
  test_ds = tfds.as_numpy (ds_builder.as_dataset (split = 'test', batch_size = -1)).
  Train_ds [ 'image'] = jnp.float32 (Train_ds [ 'image']) / 255.0
  test_ds [ 'image'] = jnp.float32 (test_ds [ 'image']) / 255.0
  TRAIN_DS, TEST_DS를 반환합니다

Train_ds, test_ds = get_datasets ()

이미지는 범위 [0, 1]로 정규화됩니다.

Jax, Flax 및 Optax를 사용한 이미지 분류

CNN 구성 :

CNN 아키텍처 :

 클래스 CNN (NN.Module) :
  @nn.compact
  def __call __ (self, x) :
    x = nn.conv (feations = 32, kernel_size = (3, 3)) (x)
    x = nn.relu (x)
    x = nn.avg_pool (x, window_shape = (2, 2), strides = (2, 2))
    x = nn.conv (feature = 64, kernel_size = (3, 3)) (x)
    x = nn.relu (x)
    x = nn.avg_pool (x, window_shape = (2, 2), strides = (2, 2))
    x = x.reshape ((x.shape [0], -1))
    x = nn.dense (피처 = 256) (x)
    x = nn.relu (x)
    x = nn.dense (피처 = 10) (x)
    반환 x

여기에는 컨볼 루션 층, 풀링 층, 평평한 층 및 조밀 한 층이 포함됩니다.

모델 평가 : 메트릭 및 추적 :

손실과 정확도를 계산하기위한 함수를 정의합니다.

 def compute_metrics (Logits, Labels) :
  loss = jnp.mean (optax.softmax_cross_entropy (logits, jax.nn.one_hot (labels, num_classes = 10))).
  정확도 = jnp.mean (jnp.argmax (logits, -1) == 레이블)
  메트릭 = { '손실': 손실, '정확도': 정확도}}
  반환 메트릭

# ... (Train_Step 및 Eval_Step 함수는 크게 동일하게 유지됩니다) ...

(Train_step 및 Eval_Step 함수는 원래 코드와 유사하게 여기에 포함됩니다.)

훈련 루프 :

교육 루프는 모델을 반복적으로 업데이트합니다.

 # ... (Train_Epoch 및 Eval_Model 함수는 크게 동일하게 유지됩니다) ...

(Train_Epoch 및 Eval_Model 함수는 원래 코드와 유사하게 여기에 포함됩니다.)

교육 및 평가 실행 :

우리는 교육 및 평가 과정을 실행합니다.

 # ... (교육 및 평가 실행 코드는 크게 동일하게 유지됩니다) ...

(매개 변수 초기화, Optimizer 설정 및 교육 루프를 포함한 교육 및 평가 실행 코드는 여기에 원래 코드와 유사하게 포함됩니다.)

성능 시각화 :

Matplotlib을 사용하여 교육 및 테스트 메트릭을 시각화합니다.

 # ... (matplotlib 플로팅 코드는 크게 동일하게 유지됩니다) ...

(원래 코드와 유사하게 손실 및 정확도를 시각화하기위한 Matplotlib 플롯 코드가 여기에 포함됩니다.)

사용자 정의 이미지 예측 :

이 섹션은 사용자 정의 이미지에 대한 예측을 보여줍니다 (코드는 원본과 크게 동일하게 유지됨).

 # ... (사용자 정의 이미지에 대한 업로드, 전처리 및 예측을위한 코드는 거의 동일하게 유지됩니다) ...

결론:

이 튜토리얼은 CNN을 구축하고 훈련하기위한 JAX, Flax 및 Optax의 효율성과 유연성을 보여주었습니다. TFD의 사용을 단순화하고 데이터 처리 및 메트릭 시각화는 귀중한 통찰력을 제공했습니다. 사용자 정의 이미지에서 모델을 테스트하는 기능은 실제 적용 가능성을 강조합니다.

자주 묻는 질문 :

(FAQ는 원본과 크게 동일하게 유지됩니다.)

제공된 Colab 링크가 여기에 포함됩니다. /uploads/....webp 이미지 경로를 이미지의 실제 경로로 바꾸는 것을 잊지 마십시오.

위 내용은 Jax, Flax 및 Optax를 사용한 이미지 분류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
chatgpt를 사용할 수 없습니다! 즉시 테스트 할 수있는 원인과 솔루션 설명 [최신 2025]chatgpt를 사용할 수 없습니다! 즉시 테스트 할 수있는 원인과 솔루션 설명 [최신 2025]May 14, 2025 am 05:04 AM

chatgpt에 액세스 할 수 없습니까? 이 기사는 다양한 실용적인 솔루션을 제공합니다! 많은 사용자가 매일 chatgpt를 사용할 때 액세스 할 수 없거나 느린 응답과 같은 문제가 발생할 수 있습니다. 이 기사는 다양한 상황에 따라 이러한 문제를 단계별로 해결하도록 안내합니다. Chatgpt의 접근성 및 예비 문제 해결의 원인 먼저 문제가 OpenAI 서버 측 또는 사용자의 네트워크 또는 장치 문제에 있는지 확인해야합니다. 문제 해결을 위해 아래 단계를 따르십시오. 1 단계 : OpenAI의 공식 상태를 확인하십시오 chatgpt 서비스가 정상적으로 실행 중인지 확인하려면 OpenAi 상태 페이지 (status.openai.com)를 방문하십시오. 빨간색 또는 노란색 알람이 표시되면 열린 것을 의미합니다.

ASI의 위험을 계산하는 것은 인간의 마음으로 시작합니다ASI의 위험을 계산하는 것은 인간의 마음으로 시작합니다May 14, 2025 am 05:02 AM

2025 년 5 월 10 일, MIT 물리학 자 Max Tegmark는 AI Labs가 인공 초 지능을 방출하기 전에 Oppenheimer의 삼위 일체 테스트 미적분학을 모방해야한다고 Guardian에게 말했다. “내 평가는 'Compton Constant', 인종이

Chatgpt에서 가사를 작성하고 작곡하는 방법에 대한 이해하기 쉬운 설명Chatgpt에서 가사를 작성하고 작곡하는 방법에 대한 이해하기 쉬운 설명May 14, 2025 am 05:01 AM

AI 음악 제작 기술은 매일 매일 변화하고 있습니다. 이 기사는 Chatgpt와 같은 AI 모델을 예로 사용하여 AI를 사용하여 음악 제작을 지원하고 실제 사례에 대해 설명하는 방법을 자세히 설명합니다. 우리는 Sunoai, Hugging Face의 AI Jukebox 및 Python 's Music21 Library를 통해 음악을 만드는 방법을 소개합니다. 이러한 기술을 통해 모든 사람은 독창적 인 음악을 쉽게 만들 수 있습니다. 그러나 AI 생성 컨텐츠의 저작권 문제는 무시할 수 없으며 사용할 때는 신중해야합니다. 음악 분야에서 AI의 무한한 가능성을 모색 해 봅시다! OpenAi의 최신 AI 에이전트 "OpenAi Deep Research"가 소개됩니다. [chatgpt] ope

chatgpt-4는 무엇입니까? 당신이 할 수있는 일, 가격 및 GPT-3.5의 차이에 대한 철저한 설명!chatgpt-4는 무엇입니까? 당신이 할 수있는 일, 가격 및 GPT-3.5의 차이에 대한 철저한 설명!May 14, 2025 am 05:00 AM

ChatGpt-4의 출현은 AI 응용 프로그램의 가능성을 크게 확장했습니다. GPT-3.5와 비교하여 ChatGpt-4는 상당히 개선되었습니다. 강력한 맥락 이해력이 있으며 이미지를 인식하고 생성 할 수도 있습니다. 그것은 보편적 인 AI 조수입니다. 비즈니스 효율성 향상 및 창출 지원과 같은 많은 분야에서 큰 잠재력을 보여주었습니다. 그러나 동시에, 우리는 또한 사용의 예방 조치에주의를 기울여야합니다. 이 기사에서는 ChatGpt-4의 특성을 자세히 설명하고 다양한 시나리오에 대한 효과적인 사용 방법을 소개합니다. 이 기사에는 최신 AI 기술을 최대한 활용하는 기술이 포함되어 있습니다. OpenAi의 최신 AI 에이전트, "OpenAi Deep Research"에 대한 자세한 내용은 아래 링크를 클릭하십시오.

chatgpt 앱을 사용하는 방법을 설명하십시오! 일본 지원 및 음성 대화 기능chatgpt 앱을 사용하는 방법을 설명하십시오! 일본 지원 및 음성 대화 기능May 14, 2025 am 04:59 AM

chatgpt 앱 : AI 조수와 함께 창의력을 발휘하십시오! 초보자 가이드 Chatgpt 앱은 쓰기, 번역 및 질문 답변을 포함하여 광범위한 작업을 처리하는 혁신적인 AI 어시스턴트입니다. 창의적인 활동과 정보 수집에 유용한 끝없는 가능성이있는 도구입니다. 이 기사에서는 초보자를위한 이해하기 쉬운 방법, ChatGpt 스마트 폰 앱을 설치하는 방법, 음성 입력 기능 및 플러그인과 같은 앱의 고유 한 기능 및 앱을 사용할 때 염두에 두는 포인트에 이르기까지 설명합니다. 또한 플러그인 제한 및 장치 간 구성 동기화를 자세히 살펴 보겠습니다.

중국어 버전의 Chatgpt를 어떻게 사용합니까? 등록 절차 및 수수료에 대한 설명중국어 버전의 Chatgpt를 어떻게 사용합니까? 등록 절차 및 수수료에 대한 설명May 14, 2025 am 04:56 AM

Chatgpt Chinese 버전 : 중국 AI 대화의 새로운 경험 잠금 해제 Chatgpt는 전 세계적으로 인기가 있습니다. 중국어 버전도 제공한다는 것을 알고 있습니까? 이 강력한 AI 도구는 일상적인 대화를 지원할뿐만 아니라 전문적인 콘텐츠를 처리하며 단순화되고 전통적인 중국어와 호환됩니다. 중국의 사용자이든 중국어를 배우는 친구이든 상관없이 혜택을 누릴 수 있습니다. 이 기사는 계정 설정, 중국 신속한 단어 입력, 필터 사용 및 다양한 패키지 선택을 포함하여 ChatGpt 중국어 버전을 사용하는 방법을 자세히 소개하고 잠재적 위험 및 응답 전략을 분석합니다. 또한 ChatGpt 중국어 버전을 다른 중국 AI 도구와 비교하여 장점과 응용 프로그램 시나리오를 더 잘 이해할 수 있도록 도와줍니다. Openai의 최신 AI 인텔리전스

5 AI 요원 신화 당신은 지금 믿음을 중단해야합니다.5 AI 요원 신화 당신은 지금 믿음을 중단해야합니다.May 14, 2025 am 04:54 AM

이것들은 생성 AI 분야의 다음 도약으로 생각 될 수 있으며, 이는 우리에게 Chatgpt 및 기타 대규모 모델 챗봇을 제공했습니다. 단순히 질문에 대답하거나 정보를 생성하는 대신, 우리를 대신하여 조치를 취할 수 있습니다.

Chatgpt를 사용하여 여러 계정을 만들고 관리하는 불법성에 대한 이해하기 쉬운 설명Chatgpt를 사용하여 여러 계정을 만들고 관리하는 불법성에 대한 이해하기 쉬운 설명May 14, 2025 am 04:50 AM

ChatGpt를 사용한 효율적인 다중 계정 관리 기술 | 비즈니스와 사생활 사용 방법에 대한 철저한 설명! Chatgpt는 다양한 상황에서 사용되지만 일부 사람들은 여러 계정 관리에 대해 걱정할 수 있습니다. 이 기사는 ChatGpt에 대한 여러 계정을 만드는 방법, 사용할 때 수행 할 작업 및 안전하고 효율적으로 작동하는 방법을 자세히 설명합니다. 또한 비즈니스와 개인 사용의 차이, OpenAI의 이용 약관을 준수하는 것과 같은 중요한 점을 다루며 여러 계정을 안전하게 활용하는 데 도움이되는 안내서를 제공합니다. Openai

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.