發表文章

Design of Electrolyte Using Deep Eutectic Solvents for High-Performance Rechargeable Nickel-Iodine Batteries

 Abstract Rechargeable nickel-ion batteries (RNiBs) have attracted significant attention because of their high volumetric density, low cost, environmental friendliness, and easy recyclability. In this study, a rechargeable nickel-iodine battery using a rational design of a deep eutectic solvent (DES) electrolyte based on a conversion reaction mechanism is first demonstrated. The rechargeable Ni-I2 battery with the DES electrolyte delivered a specific capacity of 201 mAh g−1 with a coulombic efficiency of 82.5% over 65 cycles at a current density of 0.3 A g−1. The energy storage mechanism can be attributed to I+/I− redox chemistry, which has been validated by ex situ Raman, X-ray photoelectron spectroscopy (XPS) and X-ray absorption spectroscopy (XAS). The study provides an avenue for exploring rechargeable nickel-ion batteries with DES electrolytes based on the conversion reaction mechanism.   https://doi.org/10.1002/smll.202412549

深度學習模型權重檔案格式與存放目錄

 隨著深度學習模型的發展,越來越多的開發者透過 GitHub 與 Hugging Face 分享模型權重,以便其他人可以下載並加以應用。但不同的深度學習框架有各自的儲存格式與資料夾結構,因此了解這些規範能幫助我們更快速找到所需的模型。 1. 常見的深度學習權重檔案格式 不同的深度學習框架使用不同的檔案格式來儲存模型的權重,以下是最常見的副檔名: 副檔名 用途 對應框架 .bin PyTorch 模型權重 (Hugging Face) PyTorch .pth  /  .pt PyTorch 權重 (state_dict 或完整模型 ) PyTorch .safetensors 更安全的 PyTorch 權重存儲格式 PyTorch, Hugging Face .pb TensorFlow Frozen Graph TensorFlow .ckpt TensorFlow 或 PyTorch 的 Checkpoint TensorFlow, PyTorch .h5 Keras/TensorFlow 權重 TensorFlow, Keras .tflite TensorFlow Lite 模型 TensorFlow Lite .msgpack Chainer 權重存儲格式 Chainer .npz JAX 或 NumPy 存儲格式 JAX, NumPy .onnx ONNX 格式,方便跨框架使用 ONNX 當下載 Hugging Face 或 GitHu...

深度學習中的稀疏性:提升效率還是削弱能力?

  在深度學習領域,「稀疏性(Sparsity)」是一個關鍵概念,它指的是數據或模型參數中有許多值為零的特性。這種特性可以提升計算效率、減少記憶體需求,甚至提高模型的泛化能力。但這是否意味著「零越多越好」呢?其實,關鍵在於如何適當地控制稀疏性,以達到最好的平衡。本文將介紹深度學習中幾種常見的稀疏性類型,以及它們在實際應用中的影響。 1. 稀疏性類型與應用 (1) 參數稀疏性(Model Sparsity) 指的是神經網路中的權重矩陣大部分為零。這可以透過 L1 正則化(Lasso)、剪枝(Pruning) 或 低秩分解(Low-rank Factorization) 來實現。 舉例: 假設一個神經網路的權重矩陣如下: W = [ 0.5 0 0.2 0 0 0 − 0.3 0 0.8 ] W = \begin{bmatrix} 0.5 & 0 & 0.2 \\ 0 & 0 & 0 \\ -0.3 & 0 & 0.8 \end{bmatrix} 這裡有 6 個元素為 0(總共 9 個參數),稀疏度為 66.7% 。這樣的矩陣可以減少儲存需求,並透過稀疏矩陣運算提升計算速度。 (2) 激活稀疏性(Activation Sparsity) 當使用 ReLU(Rectified Linear Unit)激活函數時,負數輸入會變成 0,導致許多神經元「沉默」。 舉例: 輸入矩陣 X X : X = [ 2 − 1 0.5 − 3 0 4 1 − 2 − 0.7 ] X = \begin{bmatrix} 2 & -1 & 0.5 \\ -3 & 0 & 4 \\ 1 & -2 & -0.7 \end{bmatrix} 經過 ReLU 激活後: ReLU ( X ) = [ 2 0 0.5 0 0 4 1 0 0 ] \text{ReLU}(X) = \begin{bmatrix} 2 & 0 & 0.5 \\ 0 & 0 & 4 \\ 1 & 0 & 0 \end{bmatrix} 這裡產生了 4 個零值(共 9 個元素),稀疏度約為 44.4% 。這有助於減少計算,但若太多神經元變為 0...

[文章轉貼] PyTorch GPU加速指南:如何使用CUDA進行基本操作

圖片
文章轉自微信公眾號:阿旭演算法與機器學習 文章原始連結:https://mp.weixin.qq.com/s/OJ1_S0b39VIr7_4kfn5Yaw 引言 CUDA(Compute Unified Device Architecture) 是NVIDIA專有的平行運算平台和程式設計模型。使用CUDA SDK,開發人員可以利用他們的NVIDIA GPU(圖形處理單元),從而使他們能夠在通常的程式設計工作流程中引入基於GPU的平行處理能力,而不是通常的基於CPU的順序處理能力。 隨著近年來深度學習的興起,可以看到模型訓練中涉及的各種運算,如矩陣乘法,求逆等,可以在很大程度上並行化,以獲得更好的學習表現和更快的訓練週期。因此,許多像Pytorch這樣的深度學習函式庫使用戶能夠使用一組介面和實用程式函數來利用GPU。本文將介紹在任何包含支援CUDA的GPU的系統中設定CUDA環境,並簡要介紹使用Python的Pytorch庫中提供的各種CUDA操作。 查看GPU支援的CUDA版本 在cmd控制台輸入 navidia-smi 查看GPU支援的最高CUDA版本: 如上圖所示,最高支援的CUDA版本為12.5,版本可以向下相容。因此安裝的CUDA版本必須小於或等於12.5版本。 安裝GPU版Pytorch 首先,透過官方Nvidia CUDA相容性清單檢查其係統的GPU,以確保其GPU是否啟用CUDA。 Pytorch透過提供一個很好的使用者友善介面,讓您選擇作業系統和其他要求,讓CUDA安裝過程非常簡單,如下圖所示。根據我們的計算機,我們將根據下圖中給出的規格進行安裝。 參考Pytorch的官方連結:https://pytorch.org/get-started/locally/,根據他們的電腦規格選擇規格。我們還建議在安裝後完全重新啟動系統,以確保工具包的正常運作。 Pytorch安裝頁面截圖 ❝ pip3 install torch==1.9.0+cu102 torchvision==0.10.0+cu102 torchaudio=0.9.0 -f https://download.pytorch.org/whl/torch_stable.html 在Pytorch中開始使用CUDA 安裝後,我們可以使用 torch.cuda 介面使用Pytorch與CUDA互動。我...