Bitsandbytes 文件
AdaGrad
並獲得增強的文件體驗
開始使用
AdaGrad
AdaGrad(Adaptive Gradient)是一種自適應學習率最佳化器。AdaGrad 為每個引數儲存過去梯度的平方和,並用它來縮放其學習率。這使得學習率能夠根據梯度的大小自動降低或提高,從而無需手動調整學習率。
Adagrad
class bitsandbytes.optim.Adagrad
< 原始碼 >( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )
__init__
< 原始碼 >( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )
引數
- params (
torch.tensor
) — 用於最佳化的輸入引數。 - lr (
float
, 預設為 1e-2) — 學習率。 - lr_decay (
int
, 預設為 0) — 學習率衰減。 - weight_decay (
float
, 預設為 0.0) — 最佳化器的權重衰減值。 - initial_accumulator_value (
int
, 預設為 0) — 初始動量值。 - eps (
float
, 預設為 1e-10) — epsilon 值,用於防止最佳化器中出現除零錯誤。 - optim_bits (
int
, 預設為 32) — 最佳化器狀態的位數。 - args (
object
, 預設為None
) — 帶有附加引數的物件。 - min_8bit_size (
int
, 預設為 4096) — 進行 8 位最佳化的引數張量的最小元素數量。 - percentile_clipping (
int
, 預設為 100) — 透過跟蹤最近 100 個梯度範數並在某個百分位數處裁剪梯度來自動調整裁剪閾值,以提高穩定性。 - block_wise (
bool
, 預設為True
) — 是否獨立量化每個張量塊以減少離群值效應並提高穩定性。
基礎 Adagrad 最佳化器。
Adagrad8bit
class bitsandbytes.optim.Adagrad8bit
< 原始碼 >( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 8 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )
__init__
< 原始碼 >( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 8 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )
引數
- params (
torch.tensor
) — 用於最佳化的輸入引數。 - lr (
float
, 預設為 1e-2) — 學習率。 - lr_decay (
int
, 預設為 0) — 學習率衰減。 - weight_decay (
float
, 預設為 0.0) — 最佳化器的權重衰減值。 - initial_accumulator_value (
int
, 預設為 0) — 初始動量值。 - eps (
float
, 預設為 1e-10) — epsilon 值,用於防止最佳化器中出現除零錯誤。 - optim_bits (
int
, 預設為 8) — 最佳化器狀態的位數。 - args (
object
, 預設為None
) — 帶有附加引數的物件。 - min_8bit_size (
int
, 預設為 4096) — 進行 8 位最佳化的引數張量的最小元素數量。 - percentile_clipping (
int
, 預設為 100) — 透過跟蹤最近 100 個梯度範數並在某個百分位數處裁剪梯度來自動調整裁剪閾值,以提高穩定性。 - block_wise (
bool
, 預設為True
) — 是否獨立量化每個張量塊以減少離群值效應並提高穩定性。
8 位 Adagrad 最佳化器。
Adagrad32bit
class bitsandbytes.optim.Adagrad32bit
< 原始碼 >( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )
__init__
< 原始碼 >( params lr = 0.01 lr_decay = 0 weight_decay = 0 initial_accumulator_value = 0 eps = 1e-10 optim_bits = 32 args = None min_8bit_size = 4096 percentile_clipping = 100 block_wise = True )
引數
- params (
torch.tensor
) — 用於最佳化的輸入引數。 - lr (
float
, 預設為 1e-2) — 學習率。 - lr_decay (
int
, 預設為 0) — 學習率衰減。 - weight_decay (
float
, 預設為 0.0) — 最佳化器的權重衰減值。 - initial_accumulator_value (
int
, 預設為 0) — 初始動量值。 - eps (
float
, 預設為 1e-10) — epsilon 值,用於防止最佳化器中出現除零錯誤。 - optim_bits (
int
, 預設為 32) — 最佳化器狀態的位數。 - args (
object
, 預設為None
) — 帶有附加引數的物件。 - min_8bit_size (
int
, 預設為 4096) — 進行 8 位最佳化的引數張量的最小元素數量。 - percentile_clipping (
int
, 預設為 100) — 透過跟蹤最近 100 個梯度範數並在某個百分位數處裁剪梯度來自動調整裁剪閾值,以提高穩定性。 - block_wise (
bool
, 預設為True
) — 是否獨立量化每個張量塊以減少離群值效應並提高穩定性。
32 位 Adagrad 最佳化器。