TensorFlow学习笔记(三)书写体数字数据集的生成

上篇

TensorFlow学习笔记(二)手写体数字的识别——环境安装

关于代码运行平台

博主示范使用的平台是 PyCharm Community 2019.3 x64 ,仅仅出于个人习惯。
读者也可以在 JupterNotebook 等其他平台上使用。

所用库的引入

import random
import os
from PIL import Image, ImageDraw, ImageFont
import numpy as np

random 和 os 是 python 内置的库,不需要引入。
PIL 是一个生成和处理图片的库。
numpy 将图片转化为张量,方便神经网络进行数据分析。

1. 依次打开 :File --> Settings --> Project: practice -->Project Interpreter
2. 按下 右侧的小齿轮,点击 Add…
在这里插入图片描述
3. 在 Location 右侧点击📂选择环境安装位置
4. 在Base interpreter 右侧点击浏览(···)选择 Anaconda 安装路径\envs\tensorflow\python3.exe 如图二所示,图一不正确。
可以勾选下面的两个小方框方便以后寻找环境。
在这里插入图片描述

在这里插入图片描述

5. 点击 OK 完成配置,等待一会,可以看到 PyCharm 列出了所有已经安装的库。
如果没有,点击右侧小眼睛图标显示即可
在这里插入图片描述

6. 点击右侧➕,以添加库。
在这里插入图片描述

7. 等待一会,出现如下界面,在搜索栏输入你想要的库的名称。
在这里插入图片描述

8.选中你需要的库,按 Install Package 下载,等待下载完成。
在这里插入图片描述
9. 如果没能下载成功,尝试打开 Terminal,即命令提示符窗口进行手动下载。
注:必须打开正确的环境,即 (tensorflow) C:\Users\用户名\pythonwork>

在这里插入图片描述

输入如下代码:
注:如果使用 Anaconda 环境,可以不安装 numpy ,因为我们之前安装 tensorflow 环境时已经默认安装好了相应的 numpy 包,如果没有,就输
入代码手动安装。

pip install PIL
pip install numpy # 选做

10. 使用JupyterNotebook 的朋友们按照第9步的做法在 tensorflow 环境中安装好了需要的库后就可以愉快的在 JupyterNotebook 里运行代码啦!

生成用来存放数字的文件夹

random.seed(3)
path_data ="data_and_distribution" #文件夹路径

# 在目录下生成用来存放数字的文件夹
def mkdir_for_imgs():
    if not os.path.exists(path_data):
        print(path_data)
        os.makedirs(path_data)

删除路径下的图片

在生成新的数据前必须要先删除之前的数据。

# 删除路径下的图片
def del_imgs():
    dir_nums = os.listdir(path_data)
    for file in dir_nums:
        print("delete: ", path_data + "/" + file)
        os.remove(path_data + "/" + file)
    print("Delete finish", "\n")

生成单张扭曲的数字图像

每行代码的解释都写在了代码注释里。

# 生成单张扭曲的数字图像
def generate_single():
    # 先绘制一个50*50的空图像
    im_50_blank = Image.new('RGB', (50, 50), (255, 255, 255))

    # 创建画笔
    draw = ImageDraw.Draw(im_50_blank)

    # 生成随机数1-9
    num = random.randint(0, 9)

    # 设置字体,这里选取字体大小25
    font = ImageFont.truetype('simsun.ttc', 20)

    # xy是左上角开始的位置坐标
    draw.text(xy=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值