学习手写数字生成

Posted 盖丽男

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习手写数字生成相关的知识,希望对你有一定的参考价值。


活动地址:CSDN21天学习挑战赛

敲例子

今天敲的是第十八个例子,手写数字生成,还是挺好玩的,我的程序运行了好久,还没出结果。不过还是成功运行起来了,所以写一下注意事项。

注意事项

一般来说,如果代码相同的话,需要注意的只有一个地方,就是生成图片的文件夹和后期使用的文件夹要统一,也就是这两个地方:
保存样例图片:

def sample_images(epoch):
    """
    保存样例图片
    """
    row, col = 4, 4
    noise = np.random.normal(0, 1, (row*col, latent_dim))
    gen_imgs = generator.predict(noise)

    fig, axs = plt.subplots(row, col)
    cnt = 0
    for i in range(row):
        for j in range(col):
            axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray')
            axs[i,j].axis('off')
            cnt += 1
    fig.savefig("/Users/Documents/own/code/mtyjkn/images/%05d.png" % epoch)
    plt.close()

和生成动图

import imageio

def compose_gif():
    # 图片地址
    data_dir = "/Users/Documents/own/code/mtyjkn/images/"
    data_dir = pathlib.Path(data_dir)
    paths    = list(data_dir.glob('*'))
    
    gif_images = []
    for path in paths:
        print(path)
        gif_images.append(imageio.imread(path))
    imageio.mimsave("test.gif",gif_images,fps=2)
    
compose_gif()

要注意data_dir里设置的位置要和fig.savefig的保持一致,不然会找不到图片,别少了斜杠/

遇到的问题

几天没敲代码,执行代码的时候竟然报找不到tensorflow这个module,经过查询,得到解决方案,删除anaconda的python软链接,也就是在你的anaconda环境,:

#我的环境
conda activate tensorflow
#找到python
which python
#cd到对应目录,然后找到相应的python文件
ll|grep python
#删除python和python3的软链
rm python
rm python3

然后执行代码的时候,因为我知道我自己装的python3.9,所以使用以下命令即可

python3.9 18.py

结果

这里展示一下结果图片:

我的程序跑了好久都还没生成成功动图

参考

ModuleNotFoundError: No module named ‘tensorflow’ 问题解决方案(Anaconda引起)

以上是关于学习手写数字生成的主要内容,如果未能解决你的问题,请参考以下文章

手把手写深度学习——用LSTM生成手写英文文章

手把手写深度学习——用LSTM生成手写英文文章

深度卷积生成对抗网络DCGAN——生成手写数字图片

深度卷积生成对抗网络DCGAN——生成手写数字图片

手把手写深度学习:用GANs生成手写数字

手把手写深度学习:用GANs生成手写数字