Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
stoneliu1981
pytorch-image-models
提交
3cc0f91e
P
pytorch-image-models
项目概览
stoneliu1981
/
pytorch-image-models
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pytorch-image-models
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
3cc0f91e
编写于
1月 05, 2020
作者:
R
Ross Wightman
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix augmix variable name scope overlap, default non-blended mode
上级
3afc2a4d
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
8 addition
and
10 deletion
+8
-10
timm/data/auto_augment.py
timm/data/auto_augment.py
+8
-10
未找到文件。
timm/data/auto_augment.py
浏览文件 @
3cc0f91e
...
...
@@ -691,7 +691,7 @@ class AugMixAugment:
self
.
alpha
=
alpha
self
.
width
=
width
self
.
depth
=
depth
self
.
blended
=
Tru
e
self
.
blended
=
Fals
e
def
_calc_blended_weights
(
self
,
ws
,
m
):
ws
=
ws
*
m
...
...
@@ -703,13 +703,13 @@ class AugMixAugment:
rws
.
append
(
alpha
)
return
np
.
array
(
rws
[::
-
1
],
dtype
=
np
.
float32
)
def
_apply_blended
(
self
,
img
,
w
s
,
m
):
def
_apply_blended
(
self
,
img
,
mixing_weight
s
,
m
):
# This is my first crack and implementing a slightly faster mixed augmentation. Instead
# of accumulating the mix for each chain in a Numpy array and then blending with original,
# it recomputes the blending coefficients and applies one PIL image blend per chain.
# TODO I've verified the results are in the right ballpark but they differ by more than rounding.
img_orig
=
img
.
copy
()
ws
=
self
.
_calc_blended_weights
(
w
s
,
m
)
ws
=
self
.
_calc_blended_weights
(
mixing_weight
s
,
m
)
for
w
in
ws
:
depth
=
self
.
depth
if
self
.
depth
>
0
else
np
.
random
.
randint
(
1
,
4
)
ops
=
np
.
random
.
choice
(
self
.
ops
,
depth
,
replace
=
True
)
...
...
@@ -719,21 +719,19 @@ class AugMixAugment:
img
=
Image
.
blend
(
img
,
img_aug
,
w
)
return
img
def
_apply_basic
(
self
,
img
,
w
s
,
m
):
def
_apply_basic
(
self
,
img
,
mixing_weight
s
,
m
):
# This is a literal adaptation of the paper/official implementation without normalizations and
# PIL <-> Numpy conversions between every op. It is still quite CPU compute heavy compared to the
# typical augmentation transforms, could use a GPU / Kornia implementation.
w
,
h
=
img
.
size
c
=
len
(
img
.
getbands
())
mixed
=
np
.
zeros
((
w
,
h
,
c
),
dtype
=
np
.
float32
)
for
w
in
ws
:
img_shape
=
img
.
size
[
0
],
img
.
size
[
1
],
len
(
img
.
getbands
())
mixed
=
np
.
zeros
(
img_shape
,
dtype
=
np
.
float32
)
for
mw
in
mixing_weights
:
depth
=
self
.
depth
if
self
.
depth
>
0
else
np
.
random
.
randint
(
1
,
4
)
ops
=
np
.
random
.
choice
(
self
.
ops
,
depth
,
replace
=
True
)
img_aug
=
img
# no ops are in-place, deep copy not necessary
for
op
in
ops
:
img_aug
=
op
(
img_aug
)
img_aug
=
np
.
asarray
(
img_aug
,
dtype
=
np
.
float32
)
mixed
+=
w
*
img_aug
mixed
+=
mw
*
np
.
asarray
(
img_aug
,
dtype
=
np
.
float32
)
np
.
clip
(
mixed
,
0
,
255.
,
out
=
mixed
)
mixed
=
Image
.
fromarray
(
mixed
.
astype
(
np
.
uint8
))
return
Image
.
blend
(
img
,
mixed
,
m
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录