飞桨ai Studio notebook基本操作

飞桨ai Studio notebook基本操作

具体学习详见地址

https://aistudio.baidu.com/aistudio/projectdetail/2213521

个人笔记

1.在Notebook中使用shell命令

  注意:通过在Shell命令前添加! (感叹号), 就可以执行部分Shell命令. 包括诸如 !pip install这样的命令. 不过, !apt-get这种可能引发用户进一步操作的命令是不支持的.

!ls /home/aistudio/data/
!pwd(查看当前路径)
!pip install jupyterthemes(安装自己所需要的库)
!pip list --format=columns(查看当前环境中的package)

【使用git命令同步代码,可以用gitee,速度会快一些】
!git clone https://github.com/PaddlePaddle/Paddle.git  

 Paddle官方模型
注意: Paddle的Git体积过大, 同步会非常迟缓. 建议使用浏览器插件, 对指定目录进行下载,然后上传至AI Studio的项目空间中

2.在Notebook中使用Magic命令

  Magic命令前面带有一个或两个百分号(%或%%),分别表示行Magic命令和单元格Magic命令。行Magic命令仅用于编写Magic命令时所在的行,而单元格Magic命令应用于整个单元格。

[显示全部可用的Magic命令]
%lsmagic

[使用Magic命令来统计运行时长]
import random
%%timeit

prize = 0 
for i in range(100):
    roll = random.randint(1, 6)
    if roll%2 == 0:
        prize += roll
    else:
        prize -= 1
        
[使用%env设置环境变量]
%env OMP_NUM_THREADS=4

[运行python代码]
%run /home/aistudio/work/SampleOfRun.py
!python /home/aistudio/work/SampleOfRun.py(两者皆可)

[%%writefile 和 % pycat:导出cell内容/显示外部脚本的内容]
%%writefile magic可以把cell的内容保存到外部文件里。而%pycat则可以把外部文件展示在cell中
简例:%%writefile printfile.py
     print(“abc”)
(为什么这里是双%,因为是要整个单元格中的代码保存为printfile,而不是仅一行保存)
%pycat /home/aistudio.py/printfile.py(则会显示出printfile.py中的内容)

3.如何操作Debug

  import pdb
  pdb.set_trace()#用于设置断点
  例:
在这里插入图片描述

3.1.输入n,转到下一行
在这里插入图片描述

3.2. p输出相关变量
在这里插入图片描述
表示输出i变量

3.3.设置变量
在这里插入图片描述
在这里插入图片描述

3.4. 注意:这里的(pdb)输入与位置有关,此时for I in range(10):语句还未执行。
在这里插入图片描述

4. 功能快捷键

在这里插入图片描述

在这里插入图片描述
5. np.linspace(0,1,300)表示生成0-1之间300个等差数列

>>> np.linspace(2.0, 3.0, num=5)
array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ])

6.np.pi表示π
7. %env OMP_NUM_THREADS=4控制执行线程的数量,即由4线程来执行
8. Baidu AI Studio中创建py文件

!cat <<newfile > newfile.py (注意空格) 
### 如何在 PaddlePaddle AIStudio 上编写和训练神经网络模型 #### 准备工作 为了能够在飞桨AI Studio平台上顺利开展神经网络的学习与实践,需要先注册并登录到该平台。之后可以创建一个新的Notebook项目用于编写代码。 #### 创建环境 进入AI Studio后,在新建的项目里启动一个支持GPU加速的在线编程环境。这一步骤对于处理复杂的深度学习任务非常重要,因为GPU能显著加快计算速度[^1]。 #### 加载预训练模型 选择合适的预训练模型来进行微调(Finetune),针对图像分类的任务场景,可以选择经典且效果良好的`ResNet-50`作为基础模型: ```python import paddlehub as hub module = hub.Module(name="resnet_v2_50_imagenet") ``` 这段代码实现了从PaddleHub加载名为`resnet_v2_50_imagenet`的模块实例化操作,它是一个基于ImageNet数据集训练得到的大规模视觉识别模型。 #### 数据准备 定义好输入的数据读取器,确保能够正确解析本地或远程存储中的图片文件路径及其标签信息。通常情况下会采用paddlex或其他工具包辅助完成此部分的工作。 #### 构建自定义网络结构 如果想要修改原有模型的部分层或者添加新的组件,则可以通过继承`paddle.nn.Layer`类来自定义整个前向传播过程。这里给出一段简单的例子展示如何扩展已有的特征提取器: ```python from paddle import nn class CustomModel(nn.Layer): def __init__(self, pretrained_module): super(CustomModel, self).__init__() self.backbone = pretrained_module # 增加额外的操作比如全连接层等... def forward(self, inputs): features = self.backbone(inputs) # 对features做进一步变换... return outputs ``` #### 设置优化策略 配置损失函数以及更新参数的方法,例如交叉熵适合多类别预测问题;随机梯度下降(SGD)、Adam都是常用的求解算法之一。 #### 开始训练循环 最后就是执行迭代式的批量样本传递给构建好的图模型,并记录下每次epoch结束后的评估指标变化情况以便后续调整超参设置。 ```python for epoch in range(num_epochs): for batch_id, data in enumerate(train_loader()): img, label = data logits = model(img) loss = criterion(logits, label) optimizer.clear_grad() loss.backward() optimizer.step() if batch_id % log_interval == 0: print(f'Epoch [{epoch}/{num_epochs}], Step [{batch_id}/{len(train_loader)}], Loss: {loss.item()}') ``` 上述代码片段展示了基本框架下的单轮次完整流程控制逻辑[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值