Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
Deep-Learning-with-TensorFlow-book
提交
dd4bbdbe
D
Deep-Learning-with-TensorFlow-book
项目概览
OpenDocCN
/
Deep-Learning-with-TensorFlow-book
通知
4
Star
2
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Deep-Learning-with-TensorFlow-book
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
dd4bbdbe
编写于
11月 20, 2019
作者:
John(°_°)…
提交者:
GitHub
11月 20, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #50 from justidle2012/master
使用NumPy读取MNIST文件信息
上级
8d051e29
ab76cd39
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
73 addition
and
0 deletion
+73
-0
ch03/readMNIST.py
ch03/readMNIST.py
+73
-0
未找到文件。
ch03/readMNIST.py
0 → 100644
浏览文件 @
dd4bbdbe
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
从MNIST中读取原始图片并保存、读取标签数据并保存。
MNIST文件结构分析可以参考:https://blog.csdn.net/justidle/article/details/103149253
"""
"""
使用方法:
1、将MNIST的文件下载到本地。
2、在py文件所在目录下,建立mnist_data目录。然后将MNIST的四个文件拷贝到mnist_data目录,并解压
3、在py文件所在目录下,建立test目录,改目录用于存放解压出的图片文件和标签文件
"""
import
struct
import
numpy
as
np
import
PIL.Image
def
read_image
(
filename
):
#打开文件
f
=
open
(
filename
,
'rb'
)
#读取文件内容
index
=
0
buf
=
f
.
read
()
#关闭文件
f
.
close
()
#解析文件内容
#>IIII 表示使用大端规则,读取四个整型
magic
,
numImages
,
rows
,
columns
=
struct
.
unpack_from
(
'>IIII'
,
buf
,
index
)
index
+=
struct
.
calcsize
(
'>IIII'
)
for
i
in
range
(
0
,
numImages
):
# L代表灰度图片
image
=
PIL
.
Image
.
new
(
'L'
,
(
columns
,
rows
))
for
x
in
range
(
rows
):
for
y
in
range
(
columns
):
# ‘>B' 读取一个字节
image
.
putpixel
((
y
,
x
),
int
(
struct
.
unpack_from
(
'>B'
,
buf
,
index
)[
0
]))
index
+=
struct
.
calcsize
(
'>B'
)
print
(
'save '
+
str
(
i
)
+
'image'
)
image
.
save
(
'mnist_data/test/'
+
str
(
i
)
+
'.png'
)
def
read_label
(
filename
,
saveFilename
):
f
=
open
(
filename
,
'rb'
)
index
=
0
buf
=
f
.
read
()
f
.
close
()
magic
,
labels
=
struct
.
unpack_from
(
'>II'
,
buf
,
index
)
index
+=
struct
.
calcsize
(
'>II'
)
labelArr
=
[
0
]
*
labels
for
x
in
range
(
labels
):
labelArr
[
x
]
=
int
(
struct
.
unpack_from
(
'>B'
,
buf
,
index
)[
0
])
index
+=
struct
.
calcsize
(
'>B'
)
save
=
open
(
saveFilename
,
'w'
)
save
.
write
(
','
.
join
(
map
(
lambda
x
:
str
(
x
),
labelArr
)))
save
.
write
(
'
\n
'
)
save
.
close
()
print
(
'save labels success'
)
if
__name__
==
'__main__'
:
#注意t10k-images-idx3-ubyte里面一共有10,000张图片
read_image
(
'mnist_data/t10k-images-idx3-ubyte'
)
read_label
(
'mnist_data/t10k-labels-idx1-ubyte'
,
'mnist_data/test/label.txt'
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录