Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
7098f925
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
大约 2 年 前同步成功
通知
285
Star
12117
Fork
2091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
200
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleHub
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
200
Issue
200
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
7098f925
编写于
11月 04, 2020
作者:
W
wuzewu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix ci issue
上级
315a3084
变更
10
显示空白变更内容
内联
并排
Showing
10 changed file
with
58 addition
and
51 deletion
+58
-51
docs/tutorial/how_to_load_data.md
docs/tutorial/how_to_load_data.md
+9
-10
hub_module/modules/text/text_generation/reading_pictures_writing_poems/__init__.py
...ext_generation/reading_pictures_writing_poems/__init__.py
+0
-1
hub_module/modules/text/text_generation/reading_pictures_writing_poems/module.py
.../text_generation/reading_pictures_writing_poems/module.py
+20
-15
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/MidAutumnDetection/__init__.py
...riting_poems_for_midautumn/MidAutumnDetection/__init__.py
+0
-1
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/MidAutumnDetection/module.py
..._writing_poems_for_midautumn/MidAutumnDetection/module.py
+1
-3
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/MidAutumnPoetry/__init__.py
...s_writing_poems_for_midautumn/MidAutumnPoetry/__init__.py
+0
-1
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/MidAutumnPoetry/module.py
...res_writing_poems_for_midautumn/MidAutumnPoetry/module.py
+0
-1
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/__init__.py
.../reading_pictures_writing_poems_for_midautumn/__init__.py
+0
-1
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/module.py
...on/reading_pictures_writing_poems_for_midautumn/module.py
+25
-14
hub_module/tests/unittests/test_reading_pictures_writing_poems.py
...le/tests/unittests/test_reading_pictures_writing_poems.py
+3
-4
未找到文件。
docs/tutorial/how_to_load_data.md
浏览文件 @
7098f925
...
...
@@ -81,4 +81,3 @@ dog
*
如果您还有预测数据(没有文本类别),可以将预测数据存放在predict_list.txt文件,文件格式和train_list.txt类似。去掉label一列即可
*
如果您的数据集类别较少,可以不用定义label_list.txt,可以选择定义label_list=["数据集所有类别"]。
*
分类任务中,数据集的label必须从0开始计数
hub_module/modules/text/text_generation/reading_pictures_writing_poems/__init__.py
浏览文件 @
7098f925
hub_module/modules/text/text_generation/reading_pictures_writing_poems/module.py
浏览文件 @
7098f925
...
...
@@ -12,6 +12,7 @@ import paddle.fluid as fluid
import
paddlehub
as
hub
from
translate
import
Translator
@
moduleinfo
(
name
=
"reading_pictures_writing_poems"
,
version
=
"1.0.0"
,
...
...
@@ -52,9 +53,11 @@ class ReadingPicturesWritingPoems(hub.Module):
results_image
=
self
.
module_image
.
classification
(
data
=
input_dict
)
PictureClassification
=
list
(
results_image
[
0
][
0
].
keys
())[
0
]
translator
=
Translator
(
to_lang
=
"chinese"
)
PictureClassification_ch
=
translator
.
translate
(
"{}"
.
format
(
PictureClassification
))
PictureClassification_ch
=
translator
.
translate
(
"{}"
.
format
(
PictureClassification
))
texts
=
[
"{}"
.
format
(
PictureClassification_ch
)]
results_keywords
=
self
.
module_similar
.
generate
(
texts
=
texts
,
use_gpu
=
use_gpu
,
beam_width
=
20
)
results_keywords
=
self
.
module_similar
.
generate
(
texts
=
texts
,
use_gpu
=
use_gpu
,
beam_width
=
20
)
Words
=
[]
# 将符合标准的近义词保存在这里(标准:字符串为中文且长度大于1)
for
item
in
range
(
20
):
if
(
self
.
is_chinese
(
results_keywords
[
0
][
item
])):
...
...
@@ -68,7 +71,8 @@ class ReadingPicturesWritingPoems(hub.Module):
ChuJu
=
FirstWord
+
SecondWord
# 出句
DuiJu
=
ThirdWord
+
FourthWord
# 对句
FirstPoetry
=
[
"{:.5},{:.5}。"
.
format
(
ChuJu
,
DuiJu
)]
# 古诗词的上阕
results
=
self
.
module_poem
.
generate
(
texts
=
FirstPoetry
,
use_gpu
=
use_gpu
,
beam_width
=
5
)
results
=
self
.
module_poem
.
generate
(
texts
=
FirstPoetry
,
use_gpu
=
use_gpu
,
beam_width
=
5
)
SecondPoetry
=
[
"{:.12}"
.
format
(
results
[
0
][
0
])]
Poetrys
=
[]
Poetrys
.
append
(
FirstPoetry
)
...
...
@@ -145,6 +149,7 @@ class ReadingPicturesWritingPoems(hub.Module):
input_data
=
args
.
input_image
if
input_data
==
[]:
raise
RuntimeError
(
"The input data is inconsistent with expectations."
)
raise
RuntimeError
(
"The input data is inconsistent with expectations."
)
return
input_data
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/MidAutumnDetection/__init__.py
浏览文件 @
7098f925
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/MidAutumnDetection/module.py
浏览文件 @
7098f925
...
...
@@ -118,9 +118,7 @@ class MODULE(hub.Module):
self
.
add_module_config_arg
()
self
.
add_module_input_arg
()
args
=
self
.
parser
.
parse_args
(
argvs
)
results
=
self
.
predict
(
paths
=
[
args
.
input_path
],
use_gpu
=
args
.
use_gpu
)
results
=
self
.
predict
(
paths
=
[
args
.
input_path
],
use_gpu
=
args
.
use_gpu
)
return
results
def
add_module_config_arg
(
self
):
...
...
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/MidAutumnPoetry/__init__.py
浏览文件 @
7098f925
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/MidAutumnPoetry/module.py
浏览文件 @
7098f925
...
...
@@ -174,4 +174,3 @@ class ErnieGen(hub.NLPPredictionModule):
texts
=
input_data
,
use_gpu
=
args
.
use_gpu
,
beam_width
=
args
.
beam_width
)
return
results
\ No newline at end of file
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/__init__.py
浏览文件 @
7098f925
hub_module/modules/text/text_generation/reading_pictures_writing_poems_for_midautumn/module.py
浏览文件 @
7098f925
...
...
@@ -14,6 +14,7 @@ from translate import Translator
import
reading_pictures_writing_poems_for_midautumn.MidAutumnDetection.module
as
MidAutumnDetection
import
reading_pictures_writing_poems_for_midautumn.MidAutumnPoetry.module
as
MidAutumnPoetry
@
moduleinfo
(
name
=
"reading_pictures_writing_poems_for_midautumn"
,
version
=
"1.0.0"
,
...
...
@@ -26,20 +27,27 @@ class ReadingPicturesWritingPoems(hub.Module):
"""
Initialize with the necessary elements
"""
self
.
pretrained_model_path
=
os
.
path
.
join
(
self
.
directory
,
"assets"
,
"infer_model"
)
self
.
module_image
=
MidAutumnDetection
.
MODULE
(
directory
=
"reading_pictures_writing_poems_for_midautumn/MidAutumnDetection"
)
# 调用目标检测的模型
self
.
module_similar
=
MidAutumnPoetry
.
ErnieGen
(
directory
=
'reading_pictures_writing_poems_for_midautumn/MidAutumnPoetry'
)
# 调用根据关键词生成古诗上阕的模型
self
.
pretrained_model_path
=
os
.
path
.
join
(
self
.
directory
,
"assets"
,
"infer_model"
)
self
.
module_image
=
MidAutumnDetection
.
MODULE
(
directory
=
"reading_pictures_writing_poems_for_midautumn/MidAutumnDetection"
)
# 调用目标检测的模型
self
.
module_similar
=
MidAutumnPoetry
.
ErnieGen
(
directory
=
'reading_pictures_writing_poems_for_midautumn/MidAutumnPoetry'
)
# 调用根据关键词生成古诗上阕的模型
self
.
module_poem
=
hub
.
Module
(
name
=
"ernie_gen_poetry"
)
# 调用古诗生成的模型
def
WritingPoem
(
self
,
images
,
use_gpu
=
False
):
# 目标检测,输入图片,输入得分最高的标签
results_image
=
self
.
module_image
.
predict
(
images
=
images
)
best
=
{
'score'
:
0
,
'category'
:
'none'
}
results_image
=
self
.
module_image
.
predict
(
images
=
images
)
best
=
{
'score'
:
0
,
'category'
:
'none'
}
for
item
in
results_image
:
for
items
in
item
:
if
(
items
[
'score'
]
>
best
[
'score'
]):
best
[
'score'
],
best
[
'category'
]
=
items
[
'score'
],
items
[
'category'
]
best
[
'score'
],
best
[
'category'
]
=
items
[
'score'
],
items
[
'category'
]
if
best
[
'category'
]
==
'MoonCake'
:
objects
=
[
'月饼'
]
elif
best
[
'category'
]
==
'moon'
:
...
...
@@ -51,10 +59,12 @@ class ReadingPicturesWritingPoems(hub.Module):
else
:
objects
=
[
'中秋节'
]
# 根据关键词生成古诗上阕
FirstPoetrys
=
self
.
module_similar
.
generate
(
texts
=
objects
,
use_gpu
=
True
,
beam_width
=
5
)
FirstPoetrys
=
self
.
module_similar
.
generate
(
texts
=
objects
,
use_gpu
=
True
,
beam_width
=
5
)
FirstPoetry
=
[
FirstPoetrys
[
0
][
0
]]
# 调用古诗生成模型,使用上阕生成下阕
SecondPoetry
=
self
.
module_poem
.
generate
(
texts
=
FirstPoetry
,
use_gpu
=
True
,
beam_width
=
5
)
SecondPoetry
=
self
.
module_poem
.
generate
(
texts
=
FirstPoetry
,
use_gpu
=
True
,
beam_width
=
5
)
Poetrys
=
[]
Poetrys
.
append
(
FirstPoetry
[
0
])
Poetrys
.
append
(
SecondPoetry
[
0
][
0
])
...
...
@@ -127,6 +137,7 @@ class ReadingPicturesWritingPoems(hub.Module):
input_data
=
args
.
input_image
if
input_data
==
[]:
raise
RuntimeError
(
"The input data is inconsistent with expectations."
)
raise
RuntimeError
(
"The input data is inconsistent with expectations."
)
return
input_data
hub_module/tests/unittests/test_reading_pictures_writing_poems.py
浏览文件 @
7098f925
...
...
@@ -14,12 +14,11 @@ class ReadingPicturesWritingPoemsTestCase(TestCase):
'Poetrys'
:
'山川山陵山,沟渠村庄沟。我来春雨余,草木亦已柔。'
}]
def
test_writing_poems
(
self
):
# test gpu
results
=
self
.
module
.
WritingPoem
(
image
=
self
.
test_image
,
use_gpu
=
True
)
results
=
self
.
module
.
WritingPoem
(
image
=
self
.
test_image
,
use_gpu
=
True
)
self
.
assertEqual
(
results
,
self
.
results
)
if
__name__
==
'__main__'
:
main
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录