一.安装
环境依赖
安装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。
我的运行可以:
二.入门
准备图:
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')
效果:
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')
效果:
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')
效果为:
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')
效果:
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))
效果:
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))
返回:
意识就是预测积极的可能性为:0.5578,消极可能性为:0.4422