『TensorFlow』生成式网络中的图片预处理

简介

这里的生成式网络是广义的生成式,不仅仅指gan网络,还有风格迁移中的类自编码器网络,以及语义分割中的类自编码器网络,因为遇到次数比较多,所以简单的记录一下。

背景

1、像素和数字

图像处理目标一般就是RGB三色通道,原始图像解码后是0~255,这个矩阵传给matplotlib就可以直接绘图了,与此同0~1的图像matplotlib也是可以接受的,关于这点,我们来看看文档是怎么说的,

Elements of RGB and RGBA arrays represent pixels of an MxN image.
        All values should be in the range [0 .. 1] for floats or
        [0 .. 255] for integers.  Out-of-range values will be clipped to
        these bounds.

即使0~1也能够使用,我们常用的还是0~255的数据。

2、生成式网络输出的限制

生成式网络不同于分类网络,其输出的目标是图像,对照上面也就是0~255范围(这个更常用)的矩阵,这就意味着网络的输出有所限制的,且是不同于分类网络全部限制于0~1或者-1~1的,正如分类网络的sigmoid或者softmax一样,我们会在最后一个卷积/转置卷积层后采取一些操作保证输出满足图像的要求。

实际思路

输入图像为了保证可以被用于loss,需要和输出图像的值域相同,所以有两个思路:

  1. 输入图像值压缩到-1~1附近
  2. 输出图像值放大到0~255

gan网络中

我们采用方式为:原像素数据除以127.5减去1的操作,使得输出值保持在-1~1之间,可以配合sigmoid激活函数进行学习

实际测试一下,我们将这里的预处理(TFR_process.py)做一下调整,使得值不再被压缩,

'''图像预处理'''
# image_decode = tf.cast(image_decode, tf.float32)/127.5-1
image_decode = tf.cast(image_decode, tf.float32)

 相应的将生成网络(DCGAN_function.py)作出调整,

h4 = deconv2d(h3, [batch_size, s_h, s_w, c_dim], scope='g_h4')
return h4  # tf.nn.tanh(h4)

可以看到结果依旧可以训练出来,效果如下。

 

快速风格迁移中

我们采用0~255作为输入,生成数据仍为0~255(主要分布),然后将输出数据进一步操作,送入vgg进行loss计算。

此时的生成式网络最后一层可以不加激活,输出会自行收敛在目标附近,也可以tanh激活(-1~1)后加1再乘127.5。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python,完成诗词生成的NLP任务可以通过下载相应的库和模型来实现。 首先,我们可以使用NLTK(Natural Language Toolkit)库和其内置的corpus(文集)模块来下载一些现有的文古诗词数据集。NLTK库提供了许多功能,包括分词和语言处理等,以帮助我们处理文本数据。 其次,我们可以使用Python的pip工具安装和下载其他与NLP相关的库,如jieba(文分词库)、pandas(数据处理库)和TensorFlow(深度学习框架)等。这些库提供了丰富的功能和工具,可以帮助我们进行文文本的处理和建模。 接下来,我们可以根据自己的需求选择性地下载已经训练好的模型,如Seq2Seq(序列到序列)模型、GPT-2(生成式预训练模型)或Transformer(变换器)模型等。这些模型可以通过TensorFlow或其他深度学习框架加载和使用,以实现生成诗词的功能。 最后,我们可以根据下载的数据和模型进行预处理和训练。预处理包括数据清洗、分词和特征提取等,而训练则涉及到定义模型架构、选择损失函数和优化器等。通过调节参数和迭代训练,我们可以不断改善生成的诗词质量和流畅度。 总之,通过下载合适的库和模型,我们可以在Python完成诗词生成的NLP任务。通过数据预处理和模型训练,我们可以生成符合诗词规律和风格的新诗词。这为文化传承和创新提供了新的途径,并在文学创作和研究具有广阔的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值