在AI Studio初步建立项目 —— 第一次尝试

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在AI Studio初步建立项目 —— 第一次尝试相关的知识,希望对你有一定的参考价值。

简 介: 通过在AI Studio中对于三种创建项目方式进行测试。可以看到它们各自的特征,为了之后很好的在AI Studio进行项目运行提供经验。

关键词 AIStudio

AI Studio
文章目录
建立测试工程
创建Notebook工程
创建脚本工程
终止后的任务日志
创建图形工程
总 结

 

§01 AI Studio


  天(2021-12-07)是将AI Studio中的留有的信息(手机信息)修正之后,能够进行认证并将算力卡邀请码进行输入。因此,今天对于在AI Studio上建立简单的工程过程进行测试。

▲ 图1.1 输入AI Studio 算力卡之后的情况

一、建立测试工程

1、创建Notebook工程

  在自己的主页中,项目下可以看到创建和Fork项目,进入之后可以展示自己的已有的项目。电机“创建项目”。

▲ 图1.1.1 建立工程的界面

  下面显示创建项目的三种类型:

  • Notebook
  • 脚本任务
  • 图像化任务

▲ 图1.1.2 创建新的工程的对话框

(1)Notebook方式

▲ 图1.1.3 配置环境

  选择AI Studio经典版本。后面经过输入相应的配置环境,输入数据集合,便进入了项目观察状态

▲ 图1.1.4 项目创建完之后的观察状态

  打开启动环境,第一步需要进行选择运行环境

▲ 图1.1.5 选择运行环境

  确定后,便进入了两种工作模式:

  • Notebook模式
  • 终端-1工作模式

  在终端工作模式下,就如同远程登录服务器的模式一样。可以使用vi编辑python程序,并利用python运行它。

▲ 图1.1.6 在notebook下执行相应的程序

  终端可以在左侧的环境中进行关闭和建立。

▲ 图1.1.7 在终端进行操作

▲ 图1.1.8 切换环境

2、创建脚本工程

(1)创建过程

  选择“创建脚本工程”,进入配置环境。

▲ 图1.1.9 创建脚本工程,配置环境

(2)工程查看

  如下是工程查看下的脚本程序:

# coding=utf-8

######  欢迎使用脚本任务,首先让我们熟悉脚本任务的一些使用规则  ######
# 脚本任务支持两种运行方式 

# 1.shell 脚本. 在 run.sh 中编写项目运行时所需的命令,并在启动命令框中填写 bash run.sh <参数1> <参数2>使脚本任务正常运行.

# 2.python 指令. 在 run.py 编写运行所需的代码,并在启动命令框中填写 python run.py <参数1> <参数2> 使脚本任务正常运行.

#注:run.sh、run.py 可使用自己的文件替代。

###数据集文件目录
datasets_prefix = '/root/paddlejob/workspace/train_data/datasets/'

# 数据集文件具体路径请在编辑项目状态下通过左侧导航「数据集」中文件路径拷贝按钮获取
train_datasets =  '通过路径拷贝获取真实数据集文件路径 '

# 输出文件目录. 任务完成后平台会自动把该目录所有文件压缩为tar.gz包,用户可以通过「下载输出」可以将输出信息下载到本地.
output_dir = "/root/paddlejob/workspace/output"

# 日志记录. 任务会自动记录环境初始化日志、任务执行日志、错误日志、执行脚本中所有标准输出和标准出错流(例如print()),用户可以在「提交」任务后,通过「查看日志」追踪日志信息.

from argparse import ArgumentParser, REMAINDER
import paddle.distributed.launch as launch

from argparse import Namespace

# launch args
parser = ArgumentParser()
parser.add_argument("--cluster_node_ips", type=str, default="127.0.0.1",
    help='# Paddle cluster nodes ips, such as 192.168.0.16,192.168.0.17..')
parser.add_argument("--node_ip", type=str, default="127.0.0.1", help='The current node ip.')
parser.add_argument("--use_paddlecloud", action='store_true', default=False,
    help='wheter to use paddlecloud platform to run your multi-process job. If false, no need to set this argument.')
parser.add_argument("--started_port", type=int, default=None, help="The trainer's started port on a single node")
parser.add_argument("--print_config", type=bool, default=True, help='Print the config or not')
parser.add_argument("--selected_gpus", type=str, default=None,
    help="It's for gpu training and the training process will run on the selected_gpus, each "
         " process is bound to a single GPU. And if it's not set, this module will use all the gpu cards for training.")
parser.add_argument("--log_level", type=int, default=20, help='Logging level, default is logging.INFO')
parser.add_argument("--log_dir", type=str, default=None,
    help="The path for each process's log.If it's not set, the log will printed to default pipe.")

args = parser.parse_args()
args.training_script="train.py"
# config for single card
args.training_script_args=["--dataset_base_path", datasets_prefix + "data65/", "--output_base_path", output_dir + "model"]
# config for multi card,add --distributed
# args.training_script_args=["--distributed", "--dataset_base_path", datasets_prefix + "data65/", "--output_base_path", output_dir + "model"]
print(args)

launch.launch(args)

(3)任务提交

▲ 图1.1.10 任务提交后的状态

3、终止后的任务日志

PADDLE_TRAINERS_NUM=1
PADDLE_USE_CUDA=1
NCCL_SOCKET_IFNAME=eth0
PADDLE_IS_LOCAL=1
OUTPUT_PATH=/root/paddlejob/workspace/output
LOCAL_LOG_PATH=/root/paddlejob/workspace/log
LOCAL_MOUNT_PATH=/mnt/code_20211207130856,/mnt/datasets_20211207130856
JOB_ID=job-5ea79b227e09736a0f139ddc7dae5f2d
TRAINING_ROLE=TRAINER
[INFO]: user command: python run.py
[INFO]: start trainer
~/paddlejob/workspace/code /mnt
usage: run.py [-h] [--log_dir LOG_DIR] [--backend BACKEND]
              [--nproc_per_node NPROC_PER_NODE] [--run_mode RUN_MODE]
              [--gpus GPUS] [--selected_gpus GPUS] [--ips IPS]
              [--servers SERVERS] [--workers WORKERS]
              [--heter_workers HETER_WORKERS] [--worker_num WORKER_NUM]
              [--server_num SERVER_NUM] [--heter_worker_num HETER_WORKER_NUM]
              [--http_port HTTP_PORT] [--elastic_server ELASTIC_SERVER]
              [--job_id JOB_ID] [--np NP] [--scale SCALE] [--host HOST]
              [--force FORCE]
              training_script ...
run.py: error: the following arguments are required: training_script, training_script_args
/mnt
[INFO]: train job failed! train_ret: 2

4、创建图形工程

▲ 图1.1.11 创建图形工程对话框

▲ 图1.1.12 干干净净的图形工程

  具体使用过程可以参见: AI Studio图形化任务说明

◎ 建立工程总结

  从前面看的初步使用过来来看,使用Notebook方式可以很方便通过交互式完成程序的运行和测试。可以看到整个测执行过程运行的结果输出。 而对于脚本任务,则只能通过提交任务,最后等任务完成,中间的时间不可控制。

二、删除项目

  对于建立的项目,可以通过以下步骤删除:

  • 选择项目:

▲ 图1.2.1 选择对应的项目

  在查看页中确定是否删除:

▲ 图1.2.2 在查看页中确定是否删除

▲ 图1.2.3 确定删除项目

& nbsp;

  结 ※


  过在AI Studio中对于三种创建项目方式进行测试。可以看到它们各自的特征,为了之后很好的在AI Studio进行项目运行提供经验。


■ 相关文献链接:

● 相关图表链接:

以上是关于在AI Studio初步建立项目 —— 第一次尝试的主要内容,如果未能解决你的问题,请参考以下文章

在AI Studio创建课程 : 2021 ANN课程

深度学习优质学习项目大放送!-AI Studio精选开源项目合集推荐

报表功能设计思考-初步尝试-第一次

AI Studio : 利用Paddle框架中的极简框架识别MNIST

2021-03-31 AI Studio上运行Speech-Transformer项目调试

初步尝试添加四象限分析法分析项目可课程进展