成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文讀懂全新深度學(xué)習(xí)庫Rust Burn

人工智能 深度學(xué)習(xí)
Rust Burn是一個(gè)全新的完全使用Rust編寫的深度學(xué)習(xí)框架,具有靈活性、高性能和易用性的特點(diǎn)。

一、什么是Rust Burn?

Rust Burn是一個(gè)全新的深度學(xué)習(xí)框架,完全使用Rust編程語言編寫。創(chuàng)建這個(gè)新框架而不是使用現(xiàn)有框架(如PyTorch或TensorFlow)的動機(jī)是為了構(gòu)建一個(gè)適應(yīng)多種用戶需求的通用框架,包括研究人員、機(jī)器學(xué)習(xí)工程師和底層軟件工程師。

Rust Burn的關(guān)鍵設(shè)計(jì)原則包括靈活性、高性能和易用性。

靈活性:能夠快速實(shí)現(xiàn)前沿研究想法,并進(jìn)行實(shí)驗(yàn)。

高性能:通過優(yōu)化措施,例如利用特定硬件功能,如Nvidia GPU上的張量內(nèi)核(Tensor Cores)。

易用性:簡化訓(xùn)練、部署和運(yùn)行模型的工作流程。

Rust Burn的主要特點(diǎn):

  • 靈活而動態(tài)的計(jì)算圖。
  • 線程安全的數(shù)據(jù)結(jié)構(gòu)。
  • 直觀的抽象,簡化開發(fā)過程。
  • 在訓(xùn)練和推理過程中實(shí)現(xiàn)極快的性能。
  • 支持CPU和GPU的多種后端實(shí)現(xiàn)。
  • 完全支持訓(xùn)練過程中的日志記錄、度量和檢查點(diǎn)功能。
  • 小型但活躍的開發(fā)者社區(qū)。

二、快速入門

2.1、安裝Rust

Burn是基于Rust編程語言的、強(qiáng)大的深度學(xué)習(xí)框架,需要對Rust有基本的了解,但一旦掌握了這些知識,用戶將能夠充分利用Burn提供的所有功能。

按照官方指南進(jìn)行安裝。也可以查看GeeksforGeeks在Windows和Linux上安裝Rust的指南和截圖。

【官方指南】:https://www.rust-lang.org/tools/install

圖片來自Install Rust圖片來自Install Rust

【安裝指南和截圖】:https://www.geeksforgeeks.org/how-to-install-rust-on-windows-and-linux-operating-system/

2.2、安裝Burn

要使用Rust Burn,首先需要在系統(tǒng)上安裝Rust。一旦正確設(shè)置了Rust,就可以使用cargo(Rust的軟件包管理器)創(chuàng)建新的Rust應(yīng)用程序。

在當(dāng)前目錄中運(yùn)行以下命令:

cargo new new_burn_app

導(dǎo)航到這個(gè)新目錄:

cd new_burn_app

接下來,添加Burn作為依賴項(xiàng),并添加啟用GPU操作的WGPU后端功能:

cargo add burn --features wgpu

最后,編譯項(xiàng)目以安裝Burn:

cargo build

這將安裝Burn框架以及WGPU后端。WGPU允許Burn執(zhí)行底層的GPU操作。

三、代碼示例

3.1、逐元素相加

要運(yùn)行以下代碼,用戶需要打開并替換src/main.rs中的內(nèi)容:

use burn::tensor::Tensor;
use burn::backend::WgpuBackend;

// Type alias for the backend to use.
type Backend = WgpuBackend;

fn main() {
    // Creation of two tensors, the first with explicit values and the second one with ones, with the same shape as the first
    let tensor_1 = Tensor::::from_data([[2., 3.], [4., 5.]]);
    let tensor_2 = Tensor::::ones_like(&tensor_1);

    // Print the element-wise addition (done with the WGPU backend) of the two tensors.
    println!("{}", tensor_1 + tensor_2);
}

main函數(shù)使用WGPU后端創(chuàng)建了兩個(gè)張量,并進(jìn)行了相加運(yùn)算。

在終端中運(yùn)行cargo run,執(zhí)行該代碼。

輸出:

查看相加的結(jié)果:

Tensor {
  data: [[3.0, 4.0], [5.0, 6.0]],
  shape:  [2, 2],
  device:  BestAvailable,
  backend:  "wgpu",
  kind:  "Float",
  dtype:  "f32",
}

3.2、位置智能前饋模塊

以下是使用Burn框架的一個(gè)簡單示例。示例創(chuàng)建了一個(gè)前饋模塊,并使用以下代碼片段定義了它的前向傳播。

use burn::nn;
use burn::module::Module;
use burn::tensor::backend::Backend;

#[derive(Module, Debug)]
pub struct PositionWiseFeedForward<B: Backend> {
    linear_inner: Linear<B>,
    linear_outer: Linear<B>,
    dropout: Dropout,
    gelu: GELU,
}

impl PositionWiseFeedForward<B> {
    pub fn forward(&self, input: Tensor<B, D>) -> Tensor<B, D> {
        let x = self.linear_inner.forward(input);
        let x = self.gelu.forward(x);
        let x = self.dropout.forward(x);

        self.linear_outer.forward(x)
    }
}

3.3、項(xiàng)目示例

要了解更多示例并運(yùn)行它們,請復(fù)制https://github.com/burn-rs/burn存儲庫,并運(yùn)行以下項(xiàng)目:

  • MNIST:使用各種后端在CPU或GPU上訓(xùn)練模型。

【MNIST】:https://github.com/burn-rs/burn/tree/main/examples/mnist

  • MNIST網(wǎng)絡(luò)推理:在瀏覽器中進(jìn)行模型推理。

【MNIST網(wǎng)絡(luò)推理】:https://github.com/burn-rs/burn/tree/main/examples/mnist-inference-web

  • 文本分類:在GPU上從頭開始訓(xùn)練一個(gè)Transformer編碼器。

【文本分類】:https://github.com/burn-rs/burn/tree/main/examples/text-classification

  • 文本生成:在GPU上從頭開始構(gòu)建和訓(xùn)練自回歸Transformer。

【文本生成】:https://github.com/burn-rs/burn/tree/main/examples/text-generation

3.4、預(yù)訓(xùn)練模型

要構(gòu)建AI應(yīng)用程序,可以使用以下預(yù)訓(xùn)練模型,并根據(jù)數(shù)據(jù)集對其進(jìn)行微調(diào)。

  • SqueezeNet:squeezenet-burn

【鏈接】:https://github.com/burn-rs/models/blob/main/squeezenet-burn/README.md

  • Llama 2:Gadersd/llama2-burn

【鏈接】:https://github.com/Gadersd/llama2-burn

  • Whisper:Gadersd/whisper-burn

【鏈接】:https://github.com/Gadersd/whisper-burn

  • Stable Diffusion v1.4:Gadersd/stable-diffusion-burn

【鏈接】:https://github.com/Gadersd/stable-diffusion-burn

四、結(jié)論

Rust Burn在深度學(xué)習(xí)框架領(lǐng)域提供了一個(gè)令人興奮的新選擇。如果你已經(jīng)是一名Rust開發(fā)者,就可以利用Rust的速度、安全性和并發(fā)性來推動深度學(xué)習(xí)研究和生產(chǎn)的發(fā)展。Burn致力于在靈活性、性能和可用性方面找到合適的折衷方案,從而創(chuàng)建一個(gè)適用于各種用例的、獨(dú)特的多功能框架。

盡管Burn還處于早期階段,但它在解決現(xiàn)有框架的痛點(diǎn)并滿足該領(lǐng)域內(nèi)各種從業(yè)者的需求方面已顯示出前景。隨著該框架的成熟和社區(qū)的發(fā)展,它有可能成為與現(xiàn)有框架相媲美的生產(chǎn)就緒框架。其新穎的設(shè)計(jì)和語言選擇為深度學(xué)習(xí)社區(qū)帶來了新的可能性。

責(zé)任編輯:武曉燕 來源: Python學(xué)研大本營
相關(guān)推薦

2017-10-24 11:19:16

深度學(xué)習(xí)機(jī)器學(xué)習(xí)數(shù)據(jù)

2018-08-16 08:19:30

2023-05-11 15:24:12

2023-12-22 19:59:15

2021-08-04 16:06:45

DataOps智領(lǐng)云

2020-11-08 13:33:05

機(jī)器學(xué)習(xí)數(shù)據(jù)中毒人工智能

2022-09-22 09:00:46

CSS單位

2018-09-28 14:06:25

前端緩存后端

2025-04-03 10:56:47

2022-11-06 21:14:02

數(shù)據(jù)驅(qū)動架構(gòu)數(shù)據(jù)

2023-11-27 17:35:48

ComponentWeb外層

2022-12-01 17:23:45

2022-07-05 06:30:54

云網(wǎng)絡(luò)網(wǎng)絡(luò)云原生

2023-05-20 17:58:31

低代碼軟件

2022-07-26 00:00:03

語言模型人工智能

2022-10-20 08:01:23

2021-12-29 18:00:19

無損網(wǎng)絡(luò)網(wǎng)絡(luò)通信網(wǎng)絡(luò)

2018-10-18 11:00:50

人工智能機(jī)器學(xué)習(xí)模型偏差

2019-07-15 10:11:57

深度學(xué)習(xí)編程人工智能

2023-12-26 14:12:12

人工智能機(jī)器學(xué)習(xí)Gen AI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 在线观看 亚洲 | 97久久精品午夜一区二区 | 91高清视频在线观看 | 欧美日韩综合 | 精品久久av | 天天躁日日躁aaaa视频 | 日本在线视频中文字幕 | 黄色大片免费网站 | 国产精品18hdxxxⅹ在线 | 在线日韩欧美 | 欧美在线天堂 | 91视频免费视频 | 日本 欧美 国产 | 亚洲视频免费在线观看 | 性欧美xxxx| 精品国产一区二区三区性色av | 美女久久久久久久 | 精品国产99 | 欧美极品视频在线观看 | 久久精品国产一区 | 在线男人天堂 | 久久久免费 | 东方伊人免费在线观看 | 欧美黄色性生活视频 | 69av网| 国产精品不卡一区 | 欧美激情综合 | 成人一区在线观看 | 一级片av | 99精品视频免费在线观看 | 一区二区三区精品视频 | 久久免费精品 | 麻豆一区二区三区精品视频 | 人人爽人人草 | 91精品一区二区 | 一道本不卡视频 | av一级| 亚洲一区二区三区在线观看免费 | 日韩欧美大片在线观看 | 天天精品在线 | 中文字幕 欧美 日韩 |