0
点赞
收藏
分享

微信扫一扫

VR全景技术在VR看房中有哪些应用,能带来哪些好处

凶猛的小白兔 03-13 12:30 阅读 2

飞桨AI框架安装和使用示例

飞桨PaddlePaddle是非常流行的国产AI框架,让我们一起来动手实践吧!

安装

飞桨安装参考页面:https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html

在这个安装页面,选好操作系统、安装方式和计算平台,系统会给出一条指令,类似:

python -m pip install paddlepaddle-gpu==2.6.0.post120 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html


执行这条安装指令即可。


编译安装

如果安装页面里没有找到合适的安装文件,可以采用编译安装的方法,编译的方法参考官网,基本步骤是:


下载源码

git clone https://github.com/PaddlePaddle/Paddle.git

然后编译安装:

cd Paddle

# 如果要使用较稳定的版本编译,可切换到 release2.3 分支下:

# git checkout release/2.3

# 进行 Wheel 包的编译,请创建并进入一个叫 build 的目录下

mkdir build && cd build

# 链接过程中打开文件数较多,可能超过系统默认限制导致编译出错,设置进程允许打开的最大文件数:

ulimit -n 4096

# 执行 cmake,完成编译
cmake .. -DPY_VERSION=3.7 \
         -DCMAKE_BUILD_TYPE=Release \
         -DWITH_GPU=OFF \
         -DWITH_XPU=ON \
         -DON_INFER=ON \
         -DWITH_PYTHON=ON \
         -DWITH_AVX=ON \
         -DWITH_MKL=ON \
         -DWITH_MKLDNN=ON \
         -DWITH_XPU_BKCL=ON \
         -DWITH_DISTRIBUTE=ON \
         -DWITH_NCCL=OFF

make -j$(nproc)

编译成功后,使用pip安装,如:

pip install paddlepaddle-0.0.0-cp38-cp38-linux_riscv64.whl

然后输入python3进入交互界面,执行验证命令:

import paddle
paddle.utils.run_check()

如果输出:PaddlePaddle is installed successfully!

就证明安装好了飞桨。

飞桨简单示例

飞桨的特点是单机多卡和多机多卡训练非常方便,比如单机多卡只需要多一句话`dist.spawn(train)`即可。下面是一个使用lenet模型,Mnist数据集进行训练的例子,这个模型和数据集都比较小,更适合做演示:

import paddle
from paddle.vision.transforms import ToTensor
import paddle.distributed as dist

train_dataset = paddle.vision.datasets.MNIST(mode='train', transform=ToTensor())
test_dataset = paddle.vision.datasets.MNIST(mode='test', transform=ToTensor())
lenet = paddle.vision.models.LeNet()

# Mnist继承paddle.nn.Layer属于Net,model包含了训练功能
model = paddle.Model(lenet)

# 设置训练模型所需的optimizer, loss, metric
model.prepare(
    paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters()),
    paddle.nn.CrossEntropyLoss(),
    paddle.metric.Accuracy(topk=(1, 2))
    )
def train():
    # 启动训练
    model.fit(train_dataset, epochs=1, batch_size=64, log_freq=400)

    # 启动评估
#     model.evaluate(test_dataset, log_freq=20, batch_size=64)
    
if __name__ == '__main__':
    # spawn自适应支持单机单卡和单机多卡训练
    dist.spawn(train)

可以切换数据集和模型,比如数据集换成Cifar10 ,模型可以用ResNet18。

改成这样:

train_dataset = paddle.vision.datasets.Cifar10(mode='train', transform=ToTensor())
test_dataset = paddle.vision.datasets.Cifar10(mode='test', transform=ToTensor())
# lenet = paddle.vision.models.LeNet()
resnet = paddle.vision.models.resnet18()
# model = paddle.Model(lenet)
model = paddle.Model(resnet)
举报

相关推荐

0 条评论