Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Kiryuu Sakuya
TensorFlow-Homework
Commits
dd9a1c4f
Unverified
Commit
dd9a1c4f
authored
Apr 14, 2020
by
Kiryuu Sakuya
🎵
Browse files
Upload 05
parent
2b636bbd
Changes
1
Hide whitespace changes
Inline
Side-by-side
exam/5.md
0 → 100644
View file @
dd9a1c4f
# 第5关:VGGNet 模型输入的预处理
## 任务描述
本关任务:编写一个能预处理图片的矩阵形式的输入的函数。其实这本来属于预处理的一部分,但并不是数据增强,比较接近归一化。我有考虑过放在前面数据预处理部分,但是这个是 VGGNet 里使用的,单列一关也不好取名字;然后也有考虑过放到后面的 VGGNet 的模型搭建中,但是这样模型那一关就太麻烦了。所以就还是单独列一关,放到这里。
## 相关知识
为了完成本关任务,你需要掌握:
1.
预处理图片矩阵:每个像素点减去该图片对应的通道的均值
### 预处理图片矩阵
`np.mean()`
配合参数 axis 的使用即可完成该操作。axis 可以指定在哪一维上做求均值,直观上,返回的矩阵,指定的维就会消失,这个可能比较抽象,直接实践一下会比较容易理解。
VGGNet 之所以有这一步,其实就跟最大最小归一化一样,都是为了是网络更容易收敛。
如果待处理的矩阵形状为 X×Y×3:
axis=0,代表第一维,即把 X(行)消除了,所以返回的是每一列 RGB 的均值,形状是 Y×3。
axis=1, 代表第二维,即把 Y(列)消除了,所以返回的是全图的 RGB 的均值,形状是 3。
示例如下,最好动笔算一下
```
python
a
=
np
.
array
([[[
1
,
2
,
3
],[
4
,
5
,
6
],[
1
,
1
,
1
]],
[[
7
,
8
,
9
],[
10
,
11
,
12
],[
2
,
2
,
2
]],
[[
13
,
14
,
15
],[
16
,
17
,
18
],[
3
,
3
,
3
]]])
rgbMean
=
np
.
mean
(
a
,
axis
=
0
)
print
(
'axis = 0'
)
print
(
rgbMean
)
print
(
rgbMean
.
shape
)
print
(
'axis = (0,1)'
)
rgbMean
=
np
.
mean
(
a
,
axis
=
(
0
,
1
))
print
(
rgbMean
)
print
(
rgbMean
.
shape
)
print
(
'subt
\f
ract'
)
print
(
a
-
rgbMean
)
```
输出:
```
---axis = 0---
[[ 7. 8. 9.]
[10. 11. 12.]
[ 1. 2. 3.]]
(3, 3)
---axis = (0,1)---
[6. 7. 8.]
(3,)
---subt\fract---
[[[-5. -5. -5.]
[-2. -2. -2.]
[-5. -6. -7.]]
[[ 1. 1. 1.]
[ 4. 4. 4.]
[-4. -5. -6.]]
[[ 7. 7. 7.]
[10. 10. 10.]
[-6. -4. -2.]]]
```
## 测试说明
平台会对你编写的代码进行测试:
测试输入会是任意的 X×Y×3 型的矩阵,正确的输出应该是经过每个值减去了对应通道的均值后的值。平台会判定你写的函数的输出是否和正确处理保持一致,如果是一致的,则正确。
---
开始你的任务吧,祝你成功!
## 答案
见
`VGGPreprocessComplete.py`
。
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment