Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
0b792a5e
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
11 个月 前同步成功
通知
280
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0b792a5e
编写于
4月 08, 2019
作者:
W
wuzewu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update proto
上级
2ec7a71e
变更
6
展开全部
隐藏空白更改
内联
并排
Showing
6 changed file
with
124 addition
and
193 deletion
+124
-193
paddlehub/finetune/checkpoint.proto
paddlehub/finetune/checkpoint.proto
+1
-1
paddlehub/finetune/checkpoint_pb2.py
paddlehub/finetune/checkpoint_pb2.py
+18
-20
paddlehub/module/check_info.proto
paddlehub/module/check_info.proto
+1
-1
paddlehub/module/check_info_pb2.py
paddlehub/module/check_info_pb2.py
+35
-34
paddlehub/module/module_desc.proto
paddlehub/module/module_desc.proto
+1
-6
paddlehub/module/module_desc_pb2.py
paddlehub/module/module_desc_pb2.py
+68
-131
未找到文件。
paddlehub/finetune/checkpoint.proto
浏览文件 @
0b792a5e
...
...
@@ -16,7 +16,7 @@
syntax
=
"proto3"
;
option
optimize_for
=
LITE_RUNTIME
;
package
paddle
_hub_finetune_
checkpoint
;
package
paddle
hub
.
task.
checkpoint
;
message
CheckPoint
{
int64
current_epoch
=
1
;
...
...
paddlehub/finetune/checkpoint_pb2.py
浏览文件 @
0b792a5e
...
...
@@ -7,29 +7,30 @@ from google.protobuf import descriptor as _descriptor
from
google.protobuf
import
message
as
_message
from
google.protobuf
import
reflection
as
_reflection
from
google.protobuf
import
symbol_database
as
_symbol_database
from
google.protobuf
import
descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db
=
_symbol_database
.
Default
()
DESCRIPTOR
=
_descriptor
.
FileDescriptor
(
name
=
'checkpoint.proto'
,
package
=
'paddle
_hub_finetune_
checkpoint'
,
package
=
'paddle
hub.task.
checkpoint'
,
syntax
=
'proto3'
,
serialized_options
=
_b
(
'H
\003
'
),
serialized_pb
=
_b
(
'
\n\x10\x63
heckpoint.proto
\x12\x1
e
paddle_hub_finetune_
checkpoint
\"
R
\n\n
CheckPoint
\x12\x15\n\r
current_epoch
\x18\x01
\x01
(
\x03\x12\x13\n\x0b
global_step
\x18\x02
\x01
(
\x03\x12\x18\n\x10
latest_model_dir
\x18\x03
\x01
(
\t
B
\x02
H
\x03\x62\x06
proto3'
'
\n\x10\x63
heckpoint.proto
\x12\x1
9
paddlehub.task.
checkpoint
\"
R
\n\n
CheckPoint
\x12\x15\n\r
current_epoch
\x18\x01
\x01
(
\x03\x12\x13\n\x0b
global_step
\x18\x02
\x01
(
\x03\x12\x18\n\x10
latest_model_dir
\x18\x03
\x01
(
\t
B
\x02
H
\x03\x62\x06
proto3'
))
_sym_db
.
RegisterFileDescriptor
(
DESCRIPTOR
)
_CHECKPOINT
=
_descriptor
.
Descriptor
(
name
=
'CheckPoint'
,
full_name
=
'paddle
_hub_finetune_
checkpoint.CheckPoint'
,
full_name
=
'paddle
hub.task.
checkpoint.CheckPoint'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'current_epoch'
,
full_name
=
'paddle
_hub_finetune_
checkpoint.CheckPoint.current_epoch'
,
full_name
=
'paddle
hub.task.
checkpoint.CheckPoint.current_epoch'
,
index
=
0
,
number
=
1
,
type
=
3
,
...
...
@@ -42,11 +43,10 @@ _CHECKPOINT = _descriptor.Descriptor(
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
serialized_options
=
None
,
file
=
DESCRIPTOR
),
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'global_step'
,
full_name
=
'paddle
_hub_finetune_
checkpoint.CheckPoint.global_step'
,
full_name
=
'paddle
hub.task.
checkpoint.CheckPoint.global_step'
,
index
=
1
,
number
=
2
,
type
=
3
,
...
...
@@ -59,12 +59,10 @@ _CHECKPOINT = _descriptor.Descriptor(
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
serialized_options
=
None
,
file
=
DESCRIPTOR
),
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'latest_model_dir'
,
full_name
=
'paddle_hub_finetune_checkpoint.CheckPoint.latest_model_dir'
,
full_name
=
'paddlehub.task.checkpoint.CheckPoint.latest_model_dir'
,
index
=
2
,
number
=
3
,
type
=
9
,
...
...
@@ -77,23 +75,21 @@ _CHECKPOINT = _descriptor.Descriptor(
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
serialized_options
=
None
,
file
=
DESCRIPTOR
),
options
=
None
),
],
extensions
=
[],
nested_types
=
[],
enum_types
=
[],
serialized_
options
=
None
,
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto3'
,
extension_ranges
=
[],
oneofs
=
[],
serialized_start
=
52
,
serialized_end
=
1
34
,
serialized_start
=
47
,
serialized_end
=
1
29
,
)
DESCRIPTOR
.
message_types_by_name
[
'CheckPoint'
]
=
_CHECKPOINT
_sym_db
.
RegisterFileDescriptor
(
DESCRIPTOR
)
CheckPoint
=
_reflection
.
GeneratedProtocolMessageType
(
'CheckPoint'
,
...
...
@@ -101,9 +97,11 @@ CheckPoint = _reflection.GeneratedProtocolMessageType(
dict
(
DESCRIPTOR
=
_CHECKPOINT
,
__module__
=
'checkpoint_pb2'
# @@protoc_insertion_point(class_scope:paddle
_hub_finetune_
checkpoint.CheckPoint)
# @@protoc_insertion_point(class_scope:paddle
hub.task.
checkpoint.CheckPoint)
))
_sym_db
.
RegisterMessage
(
CheckPoint
)
DESCRIPTOR
.
_options
=
None
DESCRIPTOR
.
has_options
=
True
DESCRIPTOR
.
_options
=
_descriptor
.
_ParseOptions
(
descriptor_pb2
.
FileOptions
(),
_b
(
'H
\003
'
))
# @@protoc_insertion_point(module_scope)
paddlehub/module/check_info.proto
浏览文件 @
0b792a5e
...
...
@@ -16,7 +16,7 @@
syntax
=
"proto3"
;
option
optimize_for
=
LITE_RUNTIME
;
package
paddle
_hub_check_
info
;
package
paddle
hub
.
module.check
info
;
enum
FILE_TYPE
{
FILE
=
0
;
...
...
paddlehub/module/check_info_pb2.py
浏览文件 @
0b792a5e
...
...
@@ -15,16 +15,16 @@ _sym_db = _symbol_database.Default()
DESCRIPTOR
=
_descriptor
.
FileDescriptor
(
name
=
'check_info.proto'
,
package
=
'paddle
_hub_check_
info'
,
package
=
'paddle
hub.module.check
info'
,
syntax
=
'proto3'
,
serialized_pb
=
_b
(
'
\n\x10\x63
heck_info.proto
\x12\x1
5
paddle_hub_check_info
\"\x80\x01\n\x08\x46
ileInfo
\x12\x11\n\t
file_name
\x18\x01
\x01
(
\t\x12
.
\n\x04
type
\x18\x02
\x01
(
\x0e\x32
.paddle_hub_check_info.FILE_TYPE
\x12\x0f\n\x07
is_need
\x18\x03
\x01
(
\x08\x12\x0b\n\x03
md5
\x18\x04
\x01
(
\t\x12\x13\n\x0b\x64\x65
scription
\x18\x05
\x01
(
\t\"\x7f\n\x08
Requires
\x12\x39\n\x0c
require_type
\x18\x01
\x01
(
\x0e\x32
#.paddle_hub_check_info.REQUIRE_TYPE
\x12\x0f\n\x07
version
\x18\x02
\x01
(
\t\x12\x12\n\n
great_than
\x18\x03
\x01
(
\x08\x12\x13\n\x0b\x64\x65
scription
\x18\x04
\x01
(
\t\"\xbe\x01\n\t
CheckInfo
\x12\x16\n\x0e
paddle_version
\x18\x01
\x01
(
\t\x12\x13\n\x0b
hub_version
\x18\x02
\x01
(
\t\x12\x1c\n\x14
module_proto_version
\x18\x03
\x01
(
\t\x12\x33\n\n
file_infos
\x18\x04
\x03
(
\x0b\x32\x1f
.paddle_hub_check_info.FileInfo
\x12\x31\n\x08
requires
\x18\x05
\x03
(
\x0b\x32\x1f
.paddle_hub_check_
info.Requires*
\x1e\n\t
FILE_TYPE
\x12\x08\n\x04\x46
ILE
\x10\x00\x12\x07\n\x03\x44
IR
\x10\x01
*[
\n\x0c
REQUIRE_TYPE
\x12\x12\n\x0e
PYTHON_PACKAGE
\x10\x00\x12\x0e\n\n
HUB_MODULE
\x10\x01\x12\n\n\x06
SYSTEM
\x10\x02\x12\x0b\n\x07\x43
OMMAND
\x10\x03\x12\x0e\n\n
PY_VERSION
\x10\x04\x42\x02
H
\x03\x62\x06
proto3'
'
\n\x10\x63
heck_info.proto
\x12\x1
a
paddlehub.module.checkinfo
\"\x85\x01\n\x08\x46
ileInfo
\x12\x11\n\t
file_name
\x18\x01
\x01
(
\t\x12\x33\n\x04
type
\x18\x02
\x01
(
\x0e\x32
%.paddlehub.module.checkinfo.FILE_TYPE
\x12\x0f\n\x07
is_need
\x18\x03
\x01
(
\x08\x12\x0b\n\x03
md5
\x18\x04
\x01
(
\t\x12\x13\n\x0b\x64\x65
scription
\x18\x05
\x01
(
\t\"\x84\x01\n\x08
Requires
\x12
>
\n\x0c
require_type
\x18\x01
\x01
(
\x0e\x32
(.paddlehub.module.checkinfo.REQUIRE_TYPE
\x12\x0f\n\x07
version
\x18\x02
\x01
(
\t\x12\x12\n\n
great_than
\x18\x03
\x01
(
\x08\x12\x13\n\x0b\x64\x65
scription
\x18\x04
\x01
(
\t\"\xc8\x01\n\t
CheckInfo
\x12\x16\n\x0e
paddle_version
\x18\x01
\x01
(
\t\x12\x13\n\x0b
hub_version
\x18\x02
\x01
(
\t\x12\x1c\n\x14
module_proto_version
\x18\x03
\x01
(
\t\x12\x38\n\n
file_infos
\x18\x04
\x03
(
\x0b\x32
$.paddlehub.module.checkinfo.FileInfo
\x12\x36\n\x08
requires
\x18\x05
\x03
(
\x0b\x32
$.paddlehub.module.check
info.Requires*
\x1e\n\t
FILE_TYPE
\x12\x08\n\x04\x46
ILE
\x10\x00\x12\x07\n\x03\x44
IR
\x10\x01
*[
\n\x0c
REQUIRE_TYPE
\x12\x12\n\x0e
PYTHON_PACKAGE
\x10\x00\x12\x0e\n\n
HUB_MODULE
\x10\x01\x12\n\n\x06
SYSTEM
\x10\x02\x12\x0b\n\x07\x43
OMMAND
\x10\x03\x12\x0e\n\n
PY_VERSION
\x10\x04\x42\x02
H
\x03\x62\x06
proto3'
))
_sym_db
.
RegisterFileDescriptor
(
DESCRIPTOR
)
_FILE_TYPE
=
_descriptor
.
EnumDescriptor
(
name
=
'FILE_TYPE'
,
full_name
=
'paddle
_hub_check_
info.FILE_TYPE'
,
full_name
=
'paddle
hub.module.check
info.FILE_TYPE'
,
filename
=
None
,
file
=
DESCRIPTOR
,
values
=
[
...
...
@@ -35,15 +35,15 @@ _FILE_TYPE = _descriptor.EnumDescriptor(
],
containing_type
=
None
,
options
=
None
,
serialized_start
=
496
,
serialized_end
=
5
26
,
serialized_start
=
522
,
serialized_end
=
5
52
,
)
_sym_db
.
RegisterEnumDescriptor
(
_FILE_TYPE
)
FILE_TYPE
=
enum_type_wrapper
.
EnumTypeWrapper
(
_FILE_TYPE
)
_REQUIRE_TYPE
=
_descriptor
.
EnumDescriptor
(
name
=
'REQUIRE_TYPE'
,
full_name
=
'paddle
_hub_check_
info.REQUIRE_TYPE'
,
full_name
=
'paddle
hub.module.check
info.REQUIRE_TYPE'
,
filename
=
None
,
file
=
DESCRIPTOR
,
values
=
[
...
...
@@ -60,8 +60,8 @@ _REQUIRE_TYPE = _descriptor.EnumDescriptor(
],
containing_type
=
None
,
options
=
None
,
serialized_start
=
5
28
,
serialized_end
=
6
19
,
serialized_start
=
5
54
,
serialized_end
=
6
45
,
)
_sym_db
.
RegisterEnumDescriptor
(
_REQUIRE_TYPE
)
...
...
@@ -76,14 +76,14 @@ PY_VERSION = 4
_FILEINFO
=
_descriptor
.
Descriptor
(
name
=
'FileInfo'
,
full_name
=
'paddle
_hub_check_
info.FileInfo'
,
full_name
=
'paddle
hub.module.check
info.FileInfo'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'file_name'
,
full_name
=
'paddle
_hub_check_
info.FileInfo.file_name'
,
full_name
=
'paddle
hub.module.check
info.FileInfo.file_name'
,
index
=
0
,
number
=
1
,
type
=
9
,
...
...
@@ -99,7 +99,7 @@ _FILEINFO = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'type'
,
full_name
=
'paddle
_hub_check_
info.FileInfo.type'
,
full_name
=
'paddle
hub.module.check
info.FileInfo.type'
,
index
=
1
,
number
=
2
,
type
=
14
,
...
...
@@ -115,7 +115,7 @@ _FILEINFO = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'is_need'
,
full_name
=
'paddle
_hub_check_
info.FileInfo.is_need'
,
full_name
=
'paddle
hub.module.check
info.FileInfo.is_need'
,
index
=
2
,
number
=
3
,
type
=
8
,
...
...
@@ -131,7 +131,7 @@ _FILEINFO = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'md5'
,
full_name
=
'paddle
_hub_check_
info.FileInfo.md5'
,
full_name
=
'paddle
hub.module.check
info.FileInfo.md5'
,
index
=
3
,
number
=
4
,
type
=
9
,
...
...
@@ -147,7 +147,7 @@ _FILEINFO = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'description'
,
full_name
=
'paddle
_hub_check_
info.FileInfo.description'
,
full_name
=
'paddle
hub.module.check
info.FileInfo.description'
,
index
=
4
,
number
=
5
,
type
=
9
,
...
...
@@ -170,20 +170,20 @@ _FILEINFO = _descriptor.Descriptor(
syntax
=
'proto3'
,
extension_ranges
=
[],
oneofs
=
[],
serialized_start
=
4
4
,
serialized_end
=
1
7
2
,
serialized_start
=
4
9
,
serialized_end
=
1
8
2
,
)
_REQUIRES
=
_descriptor
.
Descriptor
(
name
=
'Requires'
,
full_name
=
'paddle
_hub_check_
info.Requires'
,
full_name
=
'paddle
hub.module.check
info.Requires'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'require_type'
,
full_name
=
'paddle
_hub_check_
info.Requires.require_type'
,
full_name
=
'paddle
hub.module.check
info.Requires.require_type'
,
index
=
0
,
number
=
1
,
type
=
14
,
...
...
@@ -199,7 +199,7 @@ _REQUIRES = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'version'
,
full_name
=
'paddle
_hub_check_
info.Requires.version'
,
full_name
=
'paddle
hub.module.check
info.Requires.version'
,
index
=
1
,
number
=
2
,
type
=
9
,
...
...
@@ -215,7 +215,7 @@ _REQUIRES = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'great_than'
,
full_name
=
'paddle
_hub_check_
info.Requires.great_than'
,
full_name
=
'paddle
hub.module.check
info.Requires.great_than'
,
index
=
2
,
number
=
3
,
type
=
8
,
...
...
@@ -231,7 +231,7 @@ _REQUIRES = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'description'
,
full_name
=
'paddle
_hub_check_
info.Requires.description'
,
full_name
=
'paddle
hub.module.check
info.Requires.description'
,
index
=
3
,
number
=
4
,
type
=
9
,
...
...
@@ -254,20 +254,20 @@ _REQUIRES = _descriptor.Descriptor(
syntax
=
'proto3'
,
extension_ranges
=
[],
oneofs
=
[],
serialized_start
=
1
74
,
serialized_end
=
3
01
,
serialized_start
=
1
85
,
serialized_end
=
3
17
,
)
_CHECKINFO
=
_descriptor
.
Descriptor
(
name
=
'CheckInfo'
,
full_name
=
'paddle
_hub_check_
info.CheckInfo'
,
full_name
=
'paddle
hub.module.check
info.CheckInfo'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'paddle_version'
,
full_name
=
'paddle
_hub_check_
info.CheckInfo.paddle_version'
,
full_name
=
'paddle
hub.module.check
info.CheckInfo.paddle_version'
,
index
=
0
,
number
=
1
,
type
=
9
,
...
...
@@ -283,7 +283,7 @@ _CHECKINFO = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'hub_version'
,
full_name
=
'paddle
_hub_check_
info.CheckInfo.hub_version'
,
full_name
=
'paddle
hub.module.check
info.CheckInfo.hub_version'
,
index
=
1
,
number
=
2
,
type
=
9
,
...
...
@@ -299,7 +299,8 @@ _CHECKINFO = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'module_proto_version'
,
full_name
=
'paddle_hub_check_info.CheckInfo.module_proto_version'
,
full_name
=
'paddlehub.module.checkinfo.CheckInfo.module_proto_version'
,
index
=
2
,
number
=
3
,
type
=
9
,
...
...
@@ -315,7 +316,7 @@ _CHECKINFO = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'file_infos'
,
full_name
=
'paddle
_hub_check_
info.CheckInfo.file_infos'
,
full_name
=
'paddle
hub.module.check
info.CheckInfo.file_infos'
,
index
=
3
,
number
=
4
,
type
=
11
,
...
...
@@ -331,7 +332,7 @@ _CHECKINFO = _descriptor.Descriptor(
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'requires'
,
full_name
=
'paddle
_hub_check_
info.CheckInfo.requires'
,
full_name
=
'paddle
hub.module.check
info.CheckInfo.requires'
,
index
=
4
,
number
=
5
,
type
=
11
,
...
...
@@ -354,8 +355,8 @@ _CHECKINFO = _descriptor.Descriptor(
syntax
=
'proto3'
,
extension_ranges
=
[],
oneofs
=
[],
serialized_start
=
3
04
,
serialized_end
=
494
,
serialized_start
=
3
20
,
serialized_end
=
520
,
)
_FILEINFO
.
fields_by_name
[
'type'
].
enum_type
=
_FILE_TYPE
...
...
@@ -374,7 +375,7 @@ FileInfo = _reflection.GeneratedProtocolMessageType(
dict
(
DESCRIPTOR
=
_FILEINFO
,
__module__
=
'check_info_pb2'
# @@protoc_insertion_point(class_scope:paddle
_hub_check_
info.FileInfo)
# @@protoc_insertion_point(class_scope:paddle
hub.module.check
info.FileInfo)
))
_sym_db
.
RegisterMessage
(
FileInfo
)
...
...
@@ -384,7 +385,7 @@ Requires = _reflection.GeneratedProtocolMessageType(
dict
(
DESCRIPTOR
=
_REQUIRES
,
__module__
=
'check_info_pb2'
# @@protoc_insertion_point(class_scope:paddle
_hub_check_
info.Requires)
# @@protoc_insertion_point(class_scope:paddle
hub.module.check
info.Requires)
))
_sym_db
.
RegisterMessage
(
Requires
)
...
...
@@ -394,7 +395,7 @@ CheckInfo = _reflection.GeneratedProtocolMessageType(
dict
(
DESCRIPTOR
=
_CHECKINFO
,
__module__
=
'check_info_pb2'
# @@protoc_insertion_point(class_scope:paddle
_hub_check_
info.CheckInfo)
# @@protoc_insertion_point(class_scope:paddle
hub.module.check
info.CheckInfo)
))
_sym_db
.
RegisterMessage
(
CheckInfo
)
...
...
paddlehub/module/module_desc.proto
浏览文件 @
0b792a5e
...
...
@@ -16,7 +16,7 @@
syntax
=
"proto3"
;
option
optimize_for
=
LITE_RUNTIME
;
package
paddle
_hub_module
;
package
paddle
hub
.
module.desc
;
enum
DataType
{
NONE
=
0
;
...
...
@@ -70,11 +70,6 @@ message ModuleVar {
repeated
FeedDesc
feed_desc
=
2
;
}
message
AuthInfo
{
string
paddle_version
=
1
;
string
hub_version
=
2
;
}
// A Hub Module is stored in a directory with a file 'module_desc.pb'
// containing a serialized protocol message of this type. The further contents
// of the directory depend on the storage format described by the message.
...
...
paddlehub/module/module_desc_pb2.py
浏览文件 @
0b792a5e
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录