1 屠龙宝刀在手
自从学习了《百度架构师手把手带你零基础实践深度学习》21天训练营的课程,内心大大地膨胀了。那种感觉好像是手中握有一把屠龙宝刀,心里痒痒地想左砍砍、右砍砍。

很快机会就来了,在课程即将结束的时候,组织了一场创意项目PK赛。
https://aistudio.baidu.com/aistudio/education/group/info/1297
详情如下:

嗯,PaddleHub是个什么东东,课上没有学过啊???不要紧,学一学就知道了。
2 神奇的PaddleHub
先上一个paddleHub链接,https://www.paddlepaddle.org.cn/hub 。在paddle官网产品全景里面看到,还是挺热门的推荐工具。

官网的解释是:便捷地获取PaddlePaddle生态下的预训练模型,完成模型的管理和一键预测。配合使用Fine-tune API,可以基于大规模预训练模型快速完成迁移学习,让预训练模型能更好地服务于用户特定场景的应用。
粗略看了一下,还是不太懂,没关系继续看官方文档:https://paddlehub.readthedocs.io/zh_CN/develop/index.html
2.1 一个快速体验的demo
在文档中,直接看快速体验demo。因为要快速知道paddlehub是干什么的,所以我的习惯是直接看案例,其他文字都可以跳过。
我找的这个例子完成这样一件事情:
- 给定一张照片
- 从照片里面自动把人像抠出来(像ps那样,不过这次程序自动完成)
任务很简单,接着往下看还会发现,paddlehub的代码实现更是超出想象的简单。
2.1.1体验前请提前安装好PaddleHub
# 下载安装paddlehub到最新版本,仅第一次运行项目时执行此命令
$ pip install paddlehub==1.6.1 -i https://pypi.tuna.tsinghua.edu.cn/simple #指定版本安装PaddleHub,使用清华源更稳定、更迅速
$ pip install paddlehub --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple #升级到最新版本,使用清华源更稳定、更迅速
2.1.2 准备图片
# 下载待测试图片
$ wget https://paddlehub.bj.bcebos.com/resources/test_image.jpg

2.1.3 抠图
#安装预训练模型,deeplabv3p_xception65_humanseg是模型名称
$ hub install deeplabv3p_xception65_humanseg
# 导入paddlehub库
import paddlehub as hub
# 指定模型名称、待预测的图片路径、输出结果的路径,执行并输出预测结果
module = hub.Module(name="deeplabv3p_xception65_humanseg")
res = module.segmentation(paths = ["./test_image.jpg"], visualization=True, output_dir='humanseg_output')

看,这位帅哥就被抠出来了。是不是很简单,至少我看来,3行代码搞定非常可以了。
2.2 还可以做点什么呢
回到官网,发现除了图像处理领域,各个领域的模型都有。那就是说,我也有可能用几行代码去搞定其他领域的应用了吧?想想还是挺激动的

3 股神“巴菲浆”的诞生
相信很多人都会炒股,我身边被套牢的朋友可不在少数。韭菜年年有啊!现在已经步入AI时代,屠龙宝刀在手,敢不敢去屠(赌)一把。嘿嘿!走起。
既然是基于paddlepaddle 飞浆平台来做,再加上股神鼎鼎大名,咱就叫 “巴菲浆”吧,嗯,好名字。
3.1 应用思路:股神要解决的问题
我的想法是用NLP相关的方法,去分析股市消息的舆情动向,根据市场的情绪反应预测股市的未来涨跌方向
3.2 技术方案
- 准备数据:网上找了一下,可以使用tushare库
- 预测:直接paddlehub,一刀下去,立见分晓
3.3 具体实现
安装tushare库,aistudio里面安装库可以持久化安装,这样下次打开库依然存在。
!mkdir /home/aistudio/external-libraries
!pip install tushare -t /home/aistudio/external-libraries
引用前先把库加入系统查找路径,这样就可以找到刚才的库了
import sys
sys.path.append('/home/aistudio/external-libraries')
升级paddle和paddlehub库的版本,否则可能会报错,版本太低:
! pip install --upgrade paddlepaddle
! pip install --upgrade paddlehub
准备数据,这里简单采用来自sina的消息数据,将来可以准备更加精细的舆情数据
import tushare as ts
messages = ts.guba_sina(False)

加载模型,进行情感倾向预测
import paddlehub as hub
module = hub.Module(name="ernie_skep_sentiment_analysis")
import os
os.environ["CUDA_VISIBLE_DEVICES"] = '0'
result = module.predict_sentiment(messages['title'], use_gpu=True)
result
最后,也是最关键的一步,对预测结果进行加权统计:
#统计市场消息情感倾向,得出牛熊市结论
#市场倾向得分
pred_score = 0
msg_cnt=0
for msg in result:
#print(msg)
if msg['sentiment_label'] == 'negative':
score = -1 * msg['negative_probs']
else:
score =1 * msg['positive_probs']
#市场倾向得分等于正反例得分的加权和
pred_score += score
msg_cnt+=1
pred_score=pred_score/msg_cnt
if pred_score > 0:
print('股神巴菲浆告诉你,这是一个牛市,上涨概率为:{}'.format(pred_score))
else:
print('股神巴菲浆告诉你,这是一个熊市,下跌概率为:{}'.format(-1*pred_score))
运行结果:基于2020-8-27日市场倾向数据,接下来市场会继续上涨哦!(投资有风险,入市须谨慎,仅供参考!)
股神巴菲浆告诉你,这是一个牛市,上涨概率为:0.09600838356547886
4 后记
感谢飞浆,如此简单,股市“巴菲浆”分分钟就可以运作了。当然这个项目还是很简陋的,但是相信AI已来,下一个股神可能就是你哦!
aistudio上面有项目完整代码,可以fork直接运行:
https://aistudio.baidu.com/aistudio/projectdetail/764795
带好钞票,准备起飞!
谢谢
本文通过参加百度架构师的深度学习训练营,学习并使用PaddleHub进行人像抠图,进一步利用NLP技术分析股市舆情,预测涨跌。借助PaddlePaddle的预训练模型,创建了股神“巴菲浆”项目,以情绪分析为基础,提供股市预测。虽然简陋,但展示了AI在股市预测中的潜力。
2477

被折叠的 条评论
为什么被折叠?



