該教程展示了使用JAX,Flax和Optax進行MNIST數字分類的捲積神經網絡(CNN)的構建,培訓和評估。我們將介紹從環境設置和數據預處理到模型架構,訓練循環實現,指標可視化以及最終對自定義圖像的預測的所有內容。這種方法突出了這些圖書館的協同優勢,以高效且可擴展的深度學習。
學習目標:
- 掌握JAX,亞麻和Optax的集成,以簡化神經網絡開發。
- 學習使用TensorFlow數據集(TFD)進行預處理和加載數據集。
- 實施CNN進行有效的圖像分類。
- 使用關鍵指標(損失和準確性)可視化培訓進度。
- 評估模型在自定義圖像上的性能。
本文是數據科學博客馬拉鬆的一部分。
目錄:
- 學習目標
- JAX,亞麻和Optax Powerhouse
- JAX設置:安裝和導入
- MNIST數據:加載和預處理
- 構建CNN
- 模型評估:指標和跟踪
- 訓練循環
- 培訓和評估執行
- 可視化性能
- 用自定義圖像預測
- 結論
- 常見問題
JAX,亞麻和Optax Powerhouse:
高效,可擴展的深度學習需要強大的計算,模型設計和優化工具。 JAX,亞麻和Optax共同滿足了這些需求:
JAX:數字計算卓越:
JAX提供了具有Numpy樣界面的高性能數值計算。它的主要功能包括:
- 自動分化(自動克拉德):複雜功能的毫無梯度計算。
- 即時(JIT)彙編: CPU,GPU和TPU上的執行加速。
-
矢量化:通過
vmap
簡化批處理處理。 - 硬件加速度:對GPU和TPU的本機支持。
亞麻:靈活的神經網絡:
基於JAX的圖書館Flax為神經網絡構建提供了一種用戶友好且高度可定制的方法:
- 狀態模塊:簡化的參數和狀態管理。
-
簡明API:使用
@nn.compact
裝飾器的直觀模型定義。 - 適應性:適用於從簡單到復雜的各種體系結構。
- 無縫JAX集成:輕鬆利用JAX的功能。
Optax:全面優化:
Optax簡化了梯度處理和優化,提供:
- 優化器品種:包括SGD,ADAM和RMSPROP在內的廣泛優化器。
- 梯度操作:用於剪接,縮放和歸一化的工具。
- 模塊化設計:梯度轉換和優化器的簡單組合。
這個組合的框架為有效的深度學習模型開發提供了一個強大的模塊化生態系統。
JAX設置:安裝和導入:
安裝必要的庫:
!
導入基本庫:
導入JAX 導入jax.numpy作為jnp 來自亞麻的亞麻亞麻作為nn 來自亞麻。培訓進口train_state 導入Optax 導入numpy作為NP 導入Tensorflow_dataset作為TFD 導入matplotlib.pyplot作為PLT
MNIST數據:加載和預處理:
我們使用TFD加載和預處理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]。
構建CNN:
我們的CNN架構:
CNN類(nn.模塊): @nn.compact def __call __(self,x): x = nn.conv(功能= 32,kernel_size =(3,3))(x) x = nn.relu(x) x = nn.avg_pool(x,window_shape =(2,2),步幅=(2,2)) x = nn.conv(功能= 64,kernel_size =(3,3))(x) x = nn.relu(x) x = nn.avg_pool(x,window_shape =(2,2),步幅=(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,標籤): 損失= jnp.mean(optax.softmax_cross_entropy(logits,jax.nn.one_hot(標籤,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功能,類似於原始代碼。)
培訓和評估執行:
我們執行培訓和評估過程:
#...(培訓和評估執行代碼在很大程度上保持不變)...
(培訓和評估執行代碼,包括參數初始化,優化器設置和培訓循環,將包括此處,類似於原始代碼。)
可視化性能:
我們使用matplotlib可視化培訓和測試指標:
#...(matplotlib繪製代碼在很大程度上保持不變)...
(此處將包括用於可視化損耗和準確性的Matplotlib繪製代碼,類似於原始代碼。)
使用自定義圖像進行預測:
本節演示了自定義圖像的預測(代碼與原始圖像的預測幾乎相同)。
#...(用於上傳,預處理和預測自定義圖像的代碼基本相同)...
結論:
該教程展示了JAX,亞麻和Optax在建造和培訓CNN的效率和靈活性。 TFD的使用簡化數據處理和度量可視化提供了寶貴的見解。在自定義圖像上測試模型的能力突出了其實際適用性。
常見問題:
(常見問題解答與原始相同。)
提供的COLAB鏈接將在此處包括。請記住,用圖像的實際路徑替換/uploads/....webp
圖像路徑。
以上是使用JAX,亞麻和Optax的圖像分類的詳細內容。更多資訊請關注PHP中文網其他相關文章!
![無法使用chatgpt!解釋可以立即測試的原因和解決方案[最新2025]](https://img.php.cn/upload/article/001/242/473/174717025174979.jpg?x-oss-process=image/resize,p_40)
ChatGPT無法訪問?本文提供多種實用解決方案!許多用戶在日常使用ChatGPT時,可能會遇到無法訪問或響應緩慢等問題。本文將根據不同情況,逐步指導您解決這些問題。 ChatGPT無法訪問的原因及初步排查 首先,我們需要確定問題是出在OpenAI服務器端,還是用戶自身網絡或設備問題。 請按照以下步驟進行排查: 步驟1:檢查OpenAI官方狀態 訪問OpenAI Status頁面 (status.openai.com),查看ChatGPT服務是否正常運行。如果顯示紅色或黃色警報,則表示Open

2025年5月10日,麻省理工學院物理學家Max Tegmark告訴《衛報》,AI實驗室應在釋放人工超級智能之前模仿Oppenheimer的三位一體測試演算。 “我的評估是'康普頓常數',這是一場比賽的可能性

AI音樂創作技術日新月異,本文將以ChatGPT等AI模型為例,詳細講解如何利用AI輔助音樂創作,並輔以實際案例進行說明。我們將分別介紹如何通過SunoAI、Hugging Face上的AI jukebox以及Python的Music21庫進行音樂創作。 通過這些技術,每個人都能輕鬆創作原創音樂。但需注意,AI生成內容的版權問題不容忽視,使用時務必謹慎。 讓我們一起探索AI在音樂領域的無限可能! OpenAI最新AI代理“OpenAI Deep Research”介紹: [ChatGPT]Ope

ChatGPT-4的出现,极大地拓展了AI应用的可能性。相较于GPT-3.5,ChatGPT-4有了显著提升,它具备强大的语境理解能力,还能识别和生成图像,堪称万能的AI助手。在提高商业效率、辅助创作等诸多领域,它都展现出巨大的潜力。然而,与此同时,我们也必须注意其使用上的注意事项。 本文将详细解读ChatGPT-4的特性,并介绍针对不同场景的有效使用方法。文中包含充分利用最新AI技术的技巧,敬请参考。 OpenAI发布的最新AI代理,“OpenAI Deep Research”详情请点击下方链

CHATGPT應用程序:與AI助手釋放您的創造力!初學者指南 ChatGpt應用程序是一位創新的AI助手,可處理各種任務,包括寫作,翻譯和答案。它是一種具有無限可能性的工具,可用於創意活動和信息收集。 在本文中,我們將以一種易於理解的方式解釋初學者,從如何安裝chatgpt智能手機應用程序到語音輸入功能和插件等應用程序所獨有的功能,以及在使用該應用時要牢記的要點。我們還將仔細研究插件限制和設備對設備配置同步

ChatGPT中文版:解鎖中文AI對話新體驗 ChatGPT風靡全球,您知道它也提供中文版本嗎?這款強大的AI工具不僅支持日常對話,還能處理專業內容,並兼容簡體中文和繁體中文。無論是中國地區的使用者,還是正在學習中文的朋友,都能從中受益。 本文將詳細介紹ChatGPT中文版的使用方法,包括賬戶設置、中文提示詞輸入、過濾器的使用、以及不同套餐的選擇,並分析潛在風險及應對策略。此外,我們還將對比ChatGPT中文版和其他中文AI工具,幫助您更好地了解其優勢和應用場景。 OpenAI最新發布的AI智能

這些可以將其視為生成AI領域的下一個飛躍,這為我們提供了Chatgpt和其他大型語言模型聊天機器人。他們可以代表我們採取行動,而不是簡單地回答問題或產生信息

使用chatgpt有效的多個帳戶管理技術|關於如何使用商業和私人生活的詳盡解釋! Chatgpt在各種情況下都使用,但是有些人可能擔心管理多個帳戶。本文將詳細解釋如何為ChatGpt創建多個帳戶,使用時該怎麼做以及如何安全有效地操作它。我們還介紹了重要的一點,例如業務和私人使用差異,並遵守OpenAI的使用條款,並提供指南,以幫助您安全地利用多個帳戶。 Openai


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。