《Born》第3章:环境搭建与 Hello, Born

这一章的目标很简单:让你在本机跑通第一个 Born 程序。不需要 GPU,不需要 Docker,只需要 Go 1.26+。

这一章的目标很简单:让你在本机跑通第一个 Born 程序。不需要 GPU,不需要 Docker,只需要 Go 1.26+。


安装

go mod init my-born-project
go get github.com/born-ml/born

就两步。没有 conda,没有 pip,没有 CUDA Toolkit。


Hello, Tensor

package main

import (
    "fmt"
    "github.com/born-ml/born/backend/cpu"
    "github.com/born-ml/born/tensor"
)

func main() {
    backend := cpu.New()

    // 创建两个 2×3 张量
    a := tensor.Zeros[float32](tensor.Shape{2, 3}, backend)
    b := tensor.Ones[float32](tensor.Shape{2, 3}, backend)

    // 逐元素加法
    c := a.Add(b)
    fmt.Println(c)
}

输出:

Tensor<f32>[2, 3]
[[1.0, 1.0, 1.0],
 [1.0, 1.0, 1.0]]


第一个神经网络

import "github.com/born-ml/born/nn"

backend := cpu.New()

// 创建一个全连接层:输入 784,输出 10
layer := nn.NewLinear[float32](784, 10, backend)

// 随机输入
input := tensor.Randn[float32](tensor.Shape{1, 784}, backend)

// 前向传播
output := layer.Forward(input)
fmt.Println(output.Shape()) // [1, 10]


切换到 GPU(如果你有)

backend := webgpu.New()

就改这一行。如果你的机器支持 WebGPU(Chrome 已经支持,Dawn 原生库在 Windows/Linux 上可用),所有张量运算会自动在 GPU 上执行。


验证安装

cd $GOPATH/pkg/mod/github.com/born-ml/born@latest/examples/mnist
go run .

如果看到 MNIST 训练日志输出,说明一切就绪。


📘 《Born》连载技术书,第 3/22 章。

👍 1

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens