Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleX
提交
15a73dd4
P
PaddleX
项目概览
PaddlePaddle
/
PaddleX
通知
138
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
43
列表
看板
标记
里程碑
合并请求
5
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleX
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
43
Issue
43
列表
看板
标记
里程碑
合并请求
5
合并请求
5
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
15a73dd4
编写于
5月 08, 2020
作者:
F
FlyingQianMM
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop' of
https://github.com/PaddlePaddle/PaddleX
into develop_qh
上级
89059ee3
4e4a631a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
27 addition
and
26 deletion
+27
-26
docs/quick_start.md
docs/quick_start.md
+1
-1
paddlex/cv/transforms/cls_transforms.py
paddlex/cv/transforms/cls_transforms.py
+0
-3
paddlex/cv/transforms/det_transforms.py
paddlex/cv/transforms/det_transforms.py
+2
-4
paddlex/cv/transforms/ops.py
paddlex/cv/transforms/ops.py
+24
-15
paddlex/cv/transforms/seg_transforms.py
paddlex/cv/transforms/seg_transforms.py
+0
-3
未找到文件。
docs/quick_start.md
浏览文件 @
15a73dd4
# 10分钟快速上手使用
本文档在一个小数据集上展示了如何通过PaddleX进行训练,您可以阅读PaddleX的
**使用教程**
来了解更多模型任务的训练使用方式。本示例同步在AIStudio上,可直接
[
在线体验模型训练
](
https://aistudio.baidu.com/aistudio/projectdetail/4
23472
)
本文档在一个小数据集上展示了如何通过PaddleX进行训练,您可以阅读PaddleX的
**使用教程**
来了解更多模型任务的训练使用方式。本示例同步在AIStudio上,可直接
[
在线体验模型训练
](
https://aistudio.baidu.com/aistudio/projectdetail/4
39860
)
## 1. 准备蔬菜分类数据集
```
...
...
paddlex/cv/transforms/cls_transforms.py
浏览文件 @
15a73dd4
...
...
@@ -385,15 +385,12 @@ class RandomDistort:
'saturation'
:
self
.
saturation_prob
,
'hue'
:
self
.
hue_prob
,
}
im
=
im
.
astype
(
'uint8'
)
im
=
Image
.
fromarray
(
im
)
for
id
in
range
(
len
(
ops
)):
params
=
params_dict
[
ops
[
id
].
__name__
]
prob
=
prob_dict
[
ops
[
id
].
__name__
]
params
[
'im'
]
=
im
if
np
.
random
.
uniform
(
0
,
1
)
<
prob
:
im
=
ops
[
id
](
**
params
)
im
=
np
.
asarray
(
im
).
astype
(
'float32'
)
if
label
is
None
:
return
(
im
,
)
else
:
...
...
paddlex/cv/transforms/det_transforms.py
浏览文件 @
15a73dd4
...
...
@@ -541,15 +541,13 @@ class RandomDistort:
'saturation'
:
self
.
saturation_prob
,
'hue'
:
self
.
hue_prob
}
im
=
im
.
astype
(
'uint8'
)
im
=
Image
.
fromarray
(
im
)
for
id
in
range
(
4
):
params
=
params_dict
[
ops
[
id
].
__name__
]
prob
=
prob_dict
[
ops
[
id
].
__name__
]
params
[
'im'
]
=
im
if
np
.
random
.
uniform
(
0
,
1
)
<
prob
:
im
=
ops
[
id
](
**
params
)
im
=
np
.
asarray
(
im
).
astype
(
'float32'
)
if
label_info
is
None
:
return
(
im
,
im_info
)
else
:
...
...
@@ -598,7 +596,7 @@ class MixupImage:
img1
.
astype
(
'float32'
)
*
factor
img
[:
img2
.
shape
[
0
],
:
img2
.
shape
[
1
],
:]
+=
\
img2
.
astype
(
'float32'
)
*
(
1.0
-
factor
)
return
img
.
astype
(
'
uint8
'
)
return
img
.
astype
(
'
float32
'
)
def
__call__
(
self
,
im
,
im_info
=
None
,
label_info
=
None
):
"""
...
...
paddlex/cv/transforms/ops.py
浏览文件 @
15a73dd4
...
...
@@ -111,32 +111,41 @@ def bgr2rgb(im):
return
im
[:,
:,
::
-
1
]
def
brightness
(
im
,
brightness_lower
,
brightness_upper
):
brightness_delta
=
np
.
random
.
uniform
(
brightness_lower
,
brightness_upper
)
im
=
ImageEnhance
.
Brightness
(
im
).
enhance
(
brightness_delta
)
def
hue
(
im
,
hue_lower
,
hue_upper
):
delta
=
np
.
random
.
uniform
(
hue_lower
,
hue_upper
)
u
=
np
.
cos
(
delta
*
np
.
pi
)
w
=
np
.
sin
(
delta
*
np
.
pi
)
bt
=
np
.
array
([[
1.0
,
0.0
,
0.0
],
[
0.0
,
u
,
-
w
],
[
0.0
,
w
,
u
]])
tyiq
=
np
.
array
([[
0.299
,
0.587
,
0.114
],
[
0.596
,
-
0.274
,
-
0.321
],
[
0.211
,
-
0.523
,
0.311
]])
ityiq
=
np
.
array
([[
1.0
,
0.956
,
0.621
],
[
1.0
,
-
0.272
,
-
0.647
],
[
1.0
,
-
1.107
,
1.705
]])
t
=
np
.
dot
(
np
.
dot
(
ityiq
,
bt
),
tyiq
).
T
im
=
np
.
dot
(
im
,
t
)
return
im
def
contrast
(
im
,
contrast_lower
,
contrast_upper
):
contrast_delta
=
np
.
random
.
uniform
(
contrast_lower
,
contrast_upper
)
im
=
ImageEnhance
.
Contrast
(
im
).
enhance
(
contrast_delta
)
def
saturation
(
im
,
saturation_lower
,
saturation_upper
):
delta
=
np
.
random
.
uniform
(
saturation_lower
,
saturation_upper
)
gray
=
im
*
np
.
array
([[[
0.299
,
0.587
,
0.114
]]],
dtype
=
np
.
float32
)
gray
=
gray
.
sum
(
axis
=
2
,
keepdims
=
True
)
gray
*=
(
1.0
-
delta
)
im
*=
delta
im
+=
gray
return
im
def
saturation
(
im
,
saturation_lower
,
saturation
_upper
):
saturation_delta
=
np
.
random
.
uniform
(
saturation_lower
,
saturation
_upper
)
im
=
ImageEnhance
.
Color
(
im
).
enhance
(
saturation_delta
)
def
contrast
(
im
,
contrast_lower
,
contrast
_upper
):
delta
=
np
.
random
.
uniform
(
contrast_lower
,
contrast
_upper
)
im
*=
delta
return
im
def
hue
(
im
,
hue_lower
,
hue_upper
):
hue_delta
=
np
.
random
.
uniform
(
hue_lower
,
hue_upper
)
im
=
np
.
array
(
im
.
convert
(
'HSV'
))
im
[:,
:,
0
]
=
im
[:,
:,
0
]
+
hue_delta
im
=
Image
.
fromarray
(
im
,
mode
=
'HSV'
).
convert
(
'RGB'
)
def
brightness
(
im
,
brightness_lower
,
brightness_upper
):
delta
=
np
.
random
.
uniform
(
brightness_lower
,
brightness_upper
)
im
+=
delta
return
im
def
rotate
(
im
,
rotate_lower
,
rotate_upper
):
rotate_delta
=
np
.
random
.
uniform
(
rotate_lower
,
rotate_upper
)
im
=
im
.
rotate
(
int
(
rotate_delta
))
...
...
paddlex/cv/transforms/seg_transforms.py
浏览文件 @
15a73dd4
...
...
@@ -889,15 +889,12 @@ class RandomDistort:
'saturation'
:
self
.
saturation_prob
,
'hue'
:
self
.
hue_prob
}
im
=
im
.
astype
(
'uint8'
)
im
=
Image
.
fromarray
(
im
)
for
id
in
range
(
4
):
params
=
params_dict
[
ops
[
id
].
__name__
]
prob
=
prob_dict
[
ops
[
id
].
__name__
]
params
[
'im'
]
=
im
if
np
.
random
.
uniform
(
0
,
1
)
<
prob
:
im
=
ops
[
id
](
**
params
)
im
=
np
.
asarray
(
im
).
astype
(
'float32'
)
if
label
is
None
:
return
(
im
,
im_info
)
else
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录