【飞桨PaddlePaddle】迁移学习快速入门,完整源码+讲解演示

一.安装

环境依赖

安装gpu版本的PaddlePaddle

pip install paddlepaddle-gpu -U

或者安装cpu版本的paddlepaddle

 pip install paddlepaddle -U

框架安装

pip install paddlehub

1测试

可以使用server_check()可以检查本地与远端PaddleHub-Server的连接状态,使用方法如下:

import paddlehub
paddlehub.server_check()
# 如果可以连接远端PaddleHub-Server,则显示Request Hub-Server successfully。
# 如果无法连接远端PaddleHub-Server,则显示Request Hub-Server unsuccessfully。

我的运行可以:

【飞桨PaddlePaddle】迁移学习快速入门,完整源码+讲解演示

二.入门

准备图:

【飞桨PaddlePaddle】迁移学习快速入门,完整源码+讲解演示

1.人像分割

人像分割任务旨在将输入图片中的人像和背景区分开来。该任务有很多的应用场景,例如背景虚化、背景替换、影视后期处理等等。我们使用 humanseg_lite 来展示这个功能。

图片跟py同级目录,代码如下:

import paddlehub as hub
module = hub.Module(name="humanseg_lite")

res = module.segment(
    paths = ["./test.jpg"],
    visualization=True,
    output_dir='humanseg_lite')

效果:

【飞桨PaddlePaddle】迁移学习快速入门,完整源码+讲解演示

2.人体解析

人体解析是人像分割的细粒度任务。该任务旨在提取输入图片中人体的不同部件。相关模型经常和新兴的GAN模型一起使用,应用场景包括美颜、换衣服等等。我们使用 ace2p 来展示这个功能。

代码如下:

# coding=gbk
"""
作者:川川
@时间  : 2021/8/29 5:13

import paddlehub as hub

human_parser = hub.Module(name="ace2p")

res = human_parser.segmentation(
    paths = ["./test.jpg"],
    visualization=True,
    output_dir='ace2p_output')

效果:

【飞桨PaddlePaddle】迁移学习快速入门,完整源码+讲解演示

3.人脸检测

人脸检测任务旨在检测出输入图片中的每一张人脸的位置。应用的场景包括视频监控、人流量估计等等场景。我们使用 ultra_light_fast_generic_face_detector_1mb_640 来展示这个功能。

代码为:

# coding=gbk
"""
作者:川川
@时间  : 2021/8/29 5:20
群:970353786
"""
import paddlehub as hub

module = hub.Module(name="ultra_light_fast_generic_face_detector_1mb_640")

res = module.face_detection(
    paths = ["./test.jpg"],
    visualization=True,
    output_dir='face_detection_output')

效果为:

【飞桨PaddlePaddle】迁移学习快速入门,完整源码+讲解演示

4.关键点检测

关键点检测任务旨在识别输入图片中每一个人体的不同关键点信息,例如头部、肩膀、关节等等。依赖于模型能力的不同,能够检测到的关键点数量也不同。该任务一般用于人体美型、人体姿态估计等等,我们使用 openpose_body_estimation 来展示这个功能。

代码如下:

# coding=gbk
"""
作者:川川
@时间  : 2021/8/29 5:22
群:970353786
"""
import paddlehub as hub

module = hub.Module(name="openpose_body_estimation")

res = module.predict(
    img="./test.jpg",
    visualization=True,
    save_path='keypoint_output')

效果:

【飞桨PaddlePaddle】迁移学习快速入门,完整源码+讲解演示

5.中文词法分析

中文词法分析旨在对输入的语句进行分词、词性分析、命名实体识别,我们使用 lac 来展示这个功能。

代码如下:

# coding=gbk
"""
作者:川川
@时间  : 2021/8/29 5:25
群:970353786
"""
import paddlehub as hub

lac = hub.Module(name="lac")

test_text = ["马云,男,汉族,中*员 [1]  ,1964年9月10日生于浙江省杭州市,祖籍浙江省嵊州市谷来镇, 阿里巴巴集团主要创始人,现担任日本软银董事、大自然保护协会中国理事会主席兼全球董事会成员、华谊兄弟董事、生命科学突破奖基金会董事、联合国数字合作高级别小组联合主席。"]

print(lac.lexical_analysis(texts = test_text))

效果:

【飞桨PaddlePaddle】迁移学习快速入门,完整源码+讲解演示

6.中文情感分析

代码如下:

# coding=gbk
"""
作者:川川
@时间  : 2021/8/29 5:30
群:970353786
"""
import paddlehub as hub
# senta = hub.Module(name="senta_bilstm", version="1.2.0")
senta = hub.Module(name="senta_bilstm")

test_text = ["她的脸渐渐变了颜色,眉毛拧到了一起,眼睛里迸发出一道道刀一般锋利的光,大声的呵斥道。"]
print(senta.sentiment_classify(texts = test_text))

返回:

【飞桨PaddlePaddle】迁移学习快速入门,完整源码+讲解演示

意识就是预测积极的可能性为:0.5578,消极可能性为:0.4422

本文章项目文件下载地址:

链接:https://pan.baidu.com/s/1cc3IruYE5p1XQ1aFfPbinQ 
提取码:clrt
上一篇:FTP python编程


下一篇:九州量子赵义博:量子通信产业化的障碍不全是技术问题