侧边栏 (剩下的)
代码片段
BML CodeLab提供常用机器学习和深度学习代码片段,支持一键插入到Notebook代码文件中。AI开发者编码过程中如果遇到重复性的代码,也可以将其收藏为自己的代码片段,一键插入使用,提高开发效率。
代码片段提供公共代码片段库和我的代码片段库管理能力。
公共代码片段库
公共代码片段库中内置了常见的机器学习片段,您可直接插入使用,双击可浏览代码片段内容。
我的代码片段库
您可管理自己的代码片段。我的代码片段库支持插入、编辑、重命名、删除和浏览。
使用规范
- 代码片段内容不容许重复,若重复会提示:当前代码片段已存在;
- 若云端同步过来的片段内容与本地代码片段有重复,会根据时间新的覆盖旧的;名称也会替换成最新时间编写的;
- 在不登录情况下,可以保存代码片段到本地;
- 登录后,会自动将我的代码片段同步到云端,用户更换设备,我的代码片段会同时同步过去;
- 代码片段名称容许重复;
包管理
BML CodeLab 提供可视化包管理能力,内含 160 多种常用包及精选的百度自研能力,用户可按需安装、卸载、更换版本。
这里需要注意:
- 每个包仅能处于一种操作中(安装/卸载/更换版本);
- 若您对某个包下载多个版本,环境中只保留最新下载的版本
精选推荐
提供:
* wenxin
* Blackhole
* PaddlePaddle
* PaddlePaddle-gpu
* PaddleX
* PaddleHub
BML CodeLab 会定期对以上能力进行版本更新,用户可根据实际需要进行安装和更新版本。
已安装
展示的是当前环境下已安装的所有包,可通过精准匹配查找已经安装的包。
这里需要注意: Blackhole和wenxin 如果通过精选推荐安装,不会出现在已安装列表中。
未安装
展示的是当前环境下未安装的常用Python包,可通过精准匹配查找已经安装的包。
环境信息
您可查看当前运行环境的硬件信息和镜像基础信息。
硬件信息:
展示CPU(CPU核数)、GPU(GPU卡详细信息)、总显存、总内存、总硬盘信息;
环境配置:
展示 Python版本;
操作步骤
点击侧边栏环境信息按钮,查看具体信息
数据模型可视化
VisualDL是一个面向深度学习任务设计的可视化工具。VisualDL 通过丰富的图表来展示数据,使用户可以更直观、清晰地查看数据的特征与变化趋势,有助于分析数据、及时发现错误,进而改进神经网络模型的设计。喜欢的同学可以去star支持一下哦~
BML CodeLab已经集成VisualDL工具以便于您的使用,您可在侧边栏点击VDL启动数据模型可视化服务。
BML CodeLab数据可视化服务操作说明
Step1 创建日志文件LogWriter
,训练代码中增加 Loggers 来记录不同种类的数据,设置实验结果存放路径. 注意我们的logdir = "./log"
, 即需要把log目录放到/home/work/log
.
from visualdl import LogWriter
if __name__ == '__main__':
value = [i/1000.0 for i in range(1000)]
# 初始化一个记录器
with LogWriter(logdir="./log/scalar_test/train") as writer:
Step2 训练过程中插入数据打点语句,将结果储存至日志文件中
for step in range(1000):
# 向记录器添加一个tag为`acc`的数据
writer.add_scalar(tag="acc", step=step, value=value[step])
# 向记录器添加一个tag为`loss`的数据
writer.add_scalar(tag="loss", step=step, value=1/(value[step] + 1))
Step3 切换到「VDL」数据模型可视化页签,指定日志文件与模型文件(不指定日志文件无法启动VisualDL)
*注意:VisualDL启动中不可删除或替换日志/模型文件;日志文件可多选,模型文件一次只能上传一个,且模型文件暂只支持模型网络结构,不支持展示各层参数
-
选择日志文件
-
选择模型文件
Step4 点击「启动VisualDL」后,再点击「进入VisualDL」即可打开可视化界面
*注意:使用VisualDL需要Python3以上版本;端口8080是VisualDL的专用端口,严禁占用,否则无法正常启动VisualDL
资源监控
BML CodeLab提供资源实时监控功能,您可查看资源实时使用情况。
资源监控指标 | 介绍 |
---|---|
CPU占用率 | 当前已使用CPU量/CPU总可使用量 |
内存占用率 | 当前已使用的内存/内存总可使用量 |
硬盘占用率 | 当前已使用的磁盘大小/磁盘总可用量 |
GPU占用率 | 可选择GPU卡,显示已使用的GPU量/该卡总可用量 |
显存占用率 | 可选择GPU卡,显示选择GPU卡已使用显存大小/该卡总可用量 |
操作步骤
点击侧边栏资源监控按钮,进入资源页面,您可选择具体GPU卡进行监控
应用
BML CodeLab提供用户创建应用、调试应用和部署应用等功能。相关功能以Streamlit和Gradio作为底层技术,为用户提供快速搭建交互式图形化界面的能力,只需要几行代码即可搭建一个炫酷的图形化界面。
创建应用
BML CodeLab启动页新增2种应用选项。点击该Gradio或Streamlit,即在文件列表自动创建一个应用文件,文件默认命名为untitled.streamlit.py/untitled.gradio.py(应用文件的独特命名形式)。
调试应用
进入应用文件,即可开始编写并调试应用代码。整个页面分为工具栏、代码编辑区、交互效果预览区三部分,以下将详细说明:
-
工具栏:共包含4个选项,从左至右分别为运行、保存、在浏览器打开、应用部署:
- 运行:提交代码编辑区代码并运行,在交互效果预览区得到最新的交互内容。
- 保存:保存代码编辑区中的代码。
- 在浏览器打开:打开一个新的浏览器页面,更好的查看交互效果。需要注意的是,每次运行都需要重新点击在浏览器打开,查看最新的交互效果,已经打开的浏览器页面不会实时刷新。
- 应用部署:应用部署至项目详情页。
- 预览开关:控制交互效果预览区的展示。为了获得更多的代码编辑区,建议在编写代码时关闭预览,在样式调整时打开预览。
- 代码编辑区:编写Python代码,串联模型推理和交互,获得完整的应用。
- 交互效果预览区:运行当前文件代码所得到的交互效果。每次打开该类文件系统均会默认运行,一般需要几秒钟的等待时间。
部署应用
- 请适当考虑显存和并发问题,添加相关代码至应用文件,以确保应用的正常运行。
- 如部署环境需要其他的框架版本,请根据CUDA版本(11.2)自行安装。
点击应用部署按钮即可进入部署流程。部署前,请详细阅读部署引导并按照要求将相关文件存放在部署包中,为方便文件管理建议新建一个文件夹作为部署包。部署时,请根据要求填写应用名称、部署包目录、执行文件。部署时间(30秒~2分钟)受相关依赖安装时间影响,部署成功后出现提示'应用部署成功,请跳转至项目详情页查看应用效果'。
- 应用名称:应用命名,仅作为自己备注查看。
- 部署包目录:部署包所在的目录,所有文件均需要放在部署包目录。
- 执行文件:应用文件。
- 部署环境:根据应用实际情况选择合适的部署环境。需要说明的是,GPU部署需要额外使用算力卡。
部署成功后的项目详情页将优先展示应用体验内容。作者可以额外看到应用名称、应用类型、部署时间、服务器类型、调用次数、无调用时间、操作(删除应用、打开/关闭应用、部署日志)。
如您想将应用发布至应用中心,请点击右上角的'发布应用'按钮,填写发布必要信息并上传应用封面。
部署详细教程和注意事项请点击此处查看。
使用样例-Streamlit
以下是基于Streamlit应用创建工具使用PaddleHub中stylepro_artistic模型实现图片风格迁移的应用代码和交互效果。需要注意的是代码中迁移风格图片(StarryNight.png)需要您手动下载并上传至应用文件的同级目录。
示例代码:
import streamlit as st
import paddlehub as hub
import cv2
from PIL import Image
import numpy as np
import os
import paddlehub as hub
import cv2
stylepro_artistic = hub.Module(name="stylepro_artistic")
st.markdown('### 梵高星空夜图像风格迁移')
st.write('点击 Browse files 上传张图片,生成梵高星空夜风格的图片,赶快试试吧~')
with st.form(key="图像风格迁移"):
per_image = st.file_uploader("上传图片", type=['png', 'jpg','jpeg'], label_visibility='hidden')
col1, col2 = st.columns(2)
with col1:
st.markdown('#### 原始图片')
if per_image:
st.image(per_image)
else:
st.image("https://codelab-public.bj.bcebos.com/base.jpeg")
submit = st.form_submit_button("开始生成")
with col2:
st.markdown('#### 预测结果')
if per_image:
img = Image.open(per_image)
img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
result =stylepro_artistic.style_transfer(images=
[{
'content': img,
'styles': [cv2.imread(os.path.join(os.path.dirname(os.path.realpath(__file__)),'StarryNight.png'))]
}])
st.image(result[0]['data'])
else:
st.image("https://codelab-public.bj.bcebos.com/test.jpeg")
st.markdown('#### 梵高星空夜作品展示')
st.image("https://bkimg.cdn.bcebos.com/pic/d01373f082025aafcce937a8f7edab64024f1afd?x-bce-process=image/resize,m_lfit,w_1280,limit_1")
交互效果:
相关代码教程请点击此处 查看。
使用样例-Gradio
以下是基于Gradio应用创建工具使用PaddleHub中stylepro_artistic模型实现图片风格迁移的应用代码和交互效果。需要注意的是代码中迁移风格图片(StarryNight.png)需要您手动下载并上传至应用文件的同级目录。
示例代码:
import gradio as gr
import paddlehub as hub
import cv2
import numpy as np
import os
from PIL import Image
stylepro_artistic = hub.Module(name="stylepro_artistic")
def quickstart(image):
result =stylepro_artistic.style_transfer(images=
[{
'content': image,
'styles': [cv2.imread(os.path.join(os.path.dirname(os.path.realpath(__file__)),'StarryNight.png'))]
}])
return result[0]['data']
demo = gr.Interface(fn=quickstart,title="梵高星空夜图像风格迁移",inputs="image", outputs="image")
demo.launch()
交互效果:
相关代码教程请点击此处 查看。