neural-style、chainer-fast-neuralstyle图像风格转换使用

test argument is not supported anymore. Use chainer.using_config 这里重点说一下,我运行之后报:ValueError: test argument is not supported anymore. Use chainer.using_config这个错误 我的解决方法:把test和参数删掉即可 h = F.leaky_relu(self.bias18(self.bn18(self.conv18(h), test=not self.train 阅读详情

neural-style 官方地址:这个是使用torch7实现的;torch7安装比较麻烦.我这里使用的是大神使用TensorFlow实现的https://github.com/anishathalye/neural-style

1. 安装
我的操作系统是win10,装了Anaconda,TensorFlow包是通过pip安装的,中间没什么可说的.具体看TensorFlow官网就可以了.
2. 使用

python neural_style.py --content <content file> --styles <style file> --output <output file>

把参数替换成自己的,运行这个语句就能跑起来,因为我的电脑的显卡不是NVIDIA的,只能用CPU跑,特别慢,一张图片跑了三个小时.出来的效果跟大神在github上给出的一样.
效果图
原图
风格图


由于上面的跑的太慢了,介绍一下下面这个快速生成风格图:地址:https://github.com/yusuketomoto/chainer-fast-neuralstyle

这个需要安装Chainer 框架,官方的文档上不推荐使用windows系统,不过我装上去测试了一下也没什么问题.

  1. 安装
    这里要安利一下Anaconda,对使用Python做数据挖掘,深度学习等,真的是非常方便,如果你没有安装这个框架需要按照官方的文档把Chainer一来的几个库都安装一下,具体的自己百度吧.(我在自己的Ubuntu虚拟机上安装Pillow库的时候就怎么也装不上,后来按照这个链接http://www.jianshu.com/p/c83e7a599eea解决了)
  2. 使用
    这里重点说一下,我运行之后报:ValueError: test argument is not supported anymore. Use chainer.using_config这个错误,百度了一圈也找不到问题,后来去看了一下这个仓库的issues,上面有人说
    问题解决
    看了半天在generate.py没找到在哪去掉test,仔细看了一下报错的位置发现是在net.py里面
import math

import numpy as np
import chainer
import chainer.links as L
import chainer.functions as F
from chainer import Variable

class ResidualBlock(chainer.Chain):
    def __init__(self, n_in, n_out, stride=1, ksize=3):
        w = math.sqrt(2)
        super(ResidualBlock, self).__init__(
            c1=L.Convolution2D(n_in, n_out, ksize, stride, 1, w),
            c2=L.Convolution2D(n_out, n_out, ksize, 1, 1, w),
            b1=L.BatchNormalization(n_out),
            b2=L.BatchNormalization(n_out)
        )

    def __call__(self, x, test): **#把这里的test去掉**
        h = F.relu(self.b1(self.c1(x), test=test))
        h = self.b2(self.c2(h), test=test)
        if x.data.shape != h.data.shape:
            xp = chainer.cuda.get_array_module(x.data)
            n, c, hh, ww = x.data.shape
            pad_c = h.data.shape[1] - c
            p = xp.zeros((n, pad_c, hh, ww), dtype=xp.float32)
            p = chainer.Variable(p, volatile=test)
            x = F.concat((p, x))
            if x.data.shape[2:] != h.data.shape[2:]:
                x = F.average_pooling_2d(x, 1, 2)
        return h + x

class FastStyleNet(chainer.Chain):
    def __init__(self):
        super(FastStyleNet, self).__init__(
            c1=L.Convolution2D(3, 32, 9, stride=1, pad=4),
            c2=L.Convolution2D(32, 64, 4, stride=2, pad=1),
            c3=L.Convolution2D(64, 128, 4,stride=2, pad=1),
            r1=ResidualBlock(128, 128),
            r2=ResidualBlock(128, 128),
            r3=ResidualBlock(128, 128),
            r4=ResidualBlock(128, 128),
            r5=ResidualBlock(128, 128),
            d1=L.Deconvolution2D(128, 64, 4, stride=2, pad=1),
            d2=L.Deconvolution2D(64, 32, 4, stride=2, pad=1),
            d3=L.Deconvolution2D(32, 3, 9, stride=1, pad=4),
            b1=L.BatchNormalization(32),
            b2=L.BatchNormalization(64),
            b3=L.BatchNormalization(128),
            b4=L.BatchNormalization(64),
            b5=L.BatchNormalization(32),
        )
    ***#把这个函数里面的test参数全都去掉***
    def __call__(self, x, test=False):
        h = self.b1(F.elu(self.c1(x)), test=test)
        h = self.b2(F.elu(self.c2(h)), test=test)
        h = self.b3(F.elu(self.c3(h)), test=test)
        h = self.r1(h, test=test)
        h = self.r2(h, test=test)
        h = self.r3(h, test=test)
        h = self.r4(h, test=test)
        h = self.r5(h, test=test)
        h = self.b4(F.elu(self.d1(h)), test=test)
        h = self.b5(F.elu(self.d2(h)), test=test)
        y = self.d3(h)
        return (F.tanh(y)+1)*127.5

class VGG(chainer.Chain):
    def __init__(self):
        super(VGG, self).__init__(
            conv1_1=L.Convolution2D(3, 64, 3, stride=1, pad=1),
            conv1_2=L.Convolution2D(64, 64, 3, stride=1, pad=1),

            conv2_1=L.Convolution2D(64, 128, 3, stride=1, pad=1),
            conv2_2=L.Convolution2D(128, 128, 3, stride=1, pad=1),

            conv3_1=L.Convolution2D(128, 256, 3, stride=1, pad=1),
            conv3_2=L.Convolution2D(256, 256, 3, stride=1, pad=1),
            conv3_3=L.Convolution2D(256, 256, 3, stride=1, pad=1),

            conv4_1=L.Convolution2D(256, 512, 3, stride=1, pad=1),
            conv4_2=L.Convolution2D(512, 512, 3, stride=1, pad=1),
            conv4_3=L.Convolution2D(512, 512, 3, stride=1, pad=1),

            conv5_1=L.Convolution2D(512, 512, 3, stride=1, pad=1),
            conv5_2=L.Convolution2D(512, 512, 3, stride=1, pad=1),
            conv5_3=L.Convolution2D(512, 512, 3, stride=1, pad=1)
        )
        self.train = False
        self.mean = np.asarray(120, dtype=np.float32)

    def preprocess(self, image):
        return np.rollaxis(image - self.mean, 2)

    def __call__(self, x):
        y1 = F.relu(self.conv1_2(F.relu(self.conv1_1(x))))
        h = F.max_pooling_2d(y1, 2, stride=2)
        y2 = F.relu(self.conv2_2(F.relu(self.conv2_1(h))))
        h = F.max_pooling_2d(y2, 2, stride=2)
        y3 = F.relu(self.conv3_3(F.relu(self.conv3_2(F.relu(self.conv3_1(h))))))
        h = F.max_pooling_2d(y3, 2, stride=2)
        y4 = F.relu(self.conv4_3(F.relu(self.conv4_2(F.relu(self.conv4_1(h))))))
        return [y1, y2, y3, y4]

按照我注释的位置改一下,就能完美的跑起来了,这里https://github.com/gafr/chainer-fast-neuralstyle-models 是几个训练好的model,可以直接使用.

3. 自己根据图片训练Model

【神经网络与深度学习】neural-style、chainer-fast-neuralstyle图像风格转换使用 neural-style 官方地址:这个是使用torch7实现的;torch7安装比较麻烦.我这里使用的是大神使用TensorFlow实现的https://github.com/anishathalye/neural-style 1. 安装  我的操作系统是win10,装了Anaconda,TensorFlow包是通过pip安装的,中间没什么可说的.具体看TensorFlow官网就可以了. 阅读详情

相关推荐

'MomentumSGD' 'zero_grads'

'MomentumSGD'   'zero_grads' optimizer.zero_grads() 临时解决方法: optimizer.use_cleargrads()#.zero_grads()

jacke121的专栏 2743

neural_style的使用-人人都是艺术家

1. 首先需要安装Python环境,我安装的是Python3.6地址:https://www.python.org/downloads/windows/ 根据自身电脑配置选择不同的版本进行下载 安装选择自定义安装,勾选所有的选项 下一步默认全选就好了 图片是网上找的,下面两项也勾选,下面选择指定安装的文件夹 安装完成后,配置环境变量 python的路径 以及pip的

码可菠萝的博客 1536

OpenCV使用Fast Neural Style模型实现图像风格迁移

OpenCV使用Fast Neural Style模型实现图像风格迁移 1. 前言 图像风格迁移是指,将一幅内容图的内容,和一幅或多幅风格图的风格融合在一起,从而生成一些有意思的图片。 2. 原理 为了将风格图的风格和内容图的内容进行融合,所生成的图片,在内容上应当尽可能接近内容图,在风格上应当尽可能接近风格图像 因此需要定义内容损失函数和风格损失函数,经过加权后作为总的损失函数。实现图像风格迁移的算法有很多,本文主要使用ECCV 2016李飞飞等人提出的Perceptual Losses for Real

视觉与物联智能 999

Introduction to the Volatile Keyword

Introduction to the Volatile Keyword The use of volatile is poorly understood by many programmers. This is not surprising, as most C texts dismiss it in a sentence or two.

Bannings的专栏 5107

fast_neural_style_transfer:基于模型迭代的生成神经方法

快速神经风格转移 基于模型迭代的生成神经方法 描述 使用深度残差卷积神经网络作为图像转换网络(ITN)。 我们训练ITN将输入图像转换为输出图像。 我们使用在ImageNet数据集上作为损失网络进行预训练的VGG19来定义两个感知损失(功能重建损失和样式重建损失),以测量图像之间内容和样式的感知差异。 对于特定样式,我们使用MS-COCO数据集(约12.6GB)训练一个ITN。 经过培训后,我们可以使用ITN将特定样式转换为任何图像,而只需执行一次前馈计算即可。 此代码基于Johnson等。 [2016.03]和Ulyanov等。 [2016.09]。 系统总览。 图片来自Johnson等人。 原始纸。 在我的实现中,我将VGG-16替换为预先训练的VGG-19。 我使用'relu4_2'层来计算特征重建损失,并使用{'relu1_1','relu2_1','relu3_1','rel

educoder 5-3Python 计算思维训练——地图模拟

任务描述 本关任务:利用 Python 实现动画观察近 30 天 4.5 级以上地震发生情况。 相关知识 为了完成本关任务,你需要掌握:1.如何用 Python 从网络获取所需数据;2.如何用 Python 绘制地图 从网络获取数据 URL 处理模块(库) 在这里插入代码片 import urllib.request as req 创建一个表示远程 url 的类文件对象 urllib.urlopen(" ") 如同本地文件一样读取内容 print data的输出结果: 摘取动画所需数据

Manonll的博客 2485

neural-style、chainer-fast-neuralstyle图像风格转换实验

首先说明,该篇博客是在ubuntu16.04+gtx1060+cuda8.0+tensorflow源码安装、测试经历基础上进行实验,gtx 1060显卡驱动、cuda、cudnn和tensorflow安装这里不再赘述。本实验分为neural-style和chainer-fast-neuralstyle两部分。废话不多说,上车吧,少年一、neural-style 载入源码,终端输入 git clon

WoPawn的博客 6486

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解 1. 概览 在开始具体讨论卡尔曼滤波和匈牙利算法之前,首先我们来看一下基于检测的目标跟踪算法的大致流程。 2. 卡尔曼滤波(Kalman filter) 目标跟踪中使用的就是最基础的 Kalman filter 算法。这里也仅仅讨论最基础的 Kalman filter 算法。 卡尔曼滤波算法的过程很简单,如下图所示。最核心的两个步骤就是预测和更新(下图的 correct)。 在目标跟踪任务中,目标的

生命在于折腾! 2万+

Chainer-fast-neuralstyle训练完全指南:打造专属艺术风格模型

Chainer-fast-neuralstyle是一个基于Chainer框架实现的实时风格迁移项目,能够帮助用户快速将普通照片转换为具有艺术风格的图像。本指南将详细介绍如何使用该项目训练专属艺术风格模型,让你的照片瞬间变身艺术大作! ## 🎨 风格迁移效果展示 在开始训练之前,让我们先欣赏一下使用Chainer-fast-neuralstyle实现的风格迁移效果。下面是原始照片和应用不同艺术

gitblog_00619的博客 914

SAP前台处理:业务伙伴维护(客户主数据和供应商主数据)之基础视图 <BP>

这里主要讲解BP业务伙伴主数据中和财务相关的一些内容,包括基础视图数据,采购视图数据,销售视图数据,公司代码视图数据; S4统一了供应商和客户,从事务代码上:不再使用FD01和FK01进行维护,而使用事务代码BP统一维护;

SAP.David.Gao的博客 3457

ANSYS Maxwell:创建即用型 3D 轴向磁通电机模型

Magnet Length” 是磁体的径向长度。“Magnet Thickness” 是磁体的轴向长度。为了对 AFM 进行更详细的分析,用户需要在 ANSYS Maxwell 中运行 3D FEA 分析。对于 2D 模型,它们类似于 MotorCAD 中的模型,后者对等效的直线电机进行建模。单击“确定”后,将创建一个 3D Maxwell 模型。“长度”是转子铁的轴向长度。然后需要定义定子的“磁芯”尺寸和材料。“长度”是定子铁芯的轴向长度。“转子”# 的极数必须与“定子”中定义的磁极相同。

jkh920184196的博客 1930

chainer的说明文档

chainer的说明文档

u011630472的博客 770

添加odbc数据源时的一些问题和解决办法

pl/sql

Mr_Syh的博客 9642

test use scribeFire

test

tide的专栏 531

WebRTC音频传输实战:从采集到播放的完整链路解析(附RTP包处理细节)

本文深入解析了WebRTC音频传输的完整链路,从麦克风采集、音频处理与编码,到RTP打包、网络发送,再到接收端的NetEQ抗抖动处理与最终播放。文章以Linux PulseAudio为例,详细剖析了线程模型、缓冲区管理及RTP包处理等关键细节,旨在帮助开发者优化实时音频应用的延迟、卡顿与回声问题。

tea88的博客 850

Research Proposal:自动驾驶 行人运动预测

Research Proposal about Pedestrian/Cyclist Motion Prediction for Self-Driving Vehicles   If I can be provided with the opportunity to conduct PhD research in pedestrian/cyclist motion prediction for...

Poetry Wanderer的博客 3086

海思3559与全志a83t比较

海思3559与全志a83t比较

jacke121的专栏 9081

【系统架构设计师-2026上半年真题】综合知识-参考答案及详解(75题完全回忆版)

【系统架构设计师-2026上半年真题】综合知识-参考答案及详解(75题完全回忆版)

数据知道的博客 3100

【机器学习】Tensorflow:理解和实现快速风格化图像fast neural style

Neural Style开辟了计算机与艺术的道路,可以将照片风格化为名家大师的画风。然而这种方法即使使用GPU也要花上几十分钟。Fast Neural Style则启用另外一种思路来快速构建风格化图像,在笔记本CPU上十几秒就可以风格化一张图片。我们来看看这是什么原理。

artzers的专栏 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【Neural Style Transfer】 Fast Neural Style

上周写了深度学习与艺术——画风迁移 Neural Style的文章,这周就来聊一聊Fast Neural Style,从名字可以看出,Fast Neural Style的最大的特色就是快,也就是说如果再优化网络配置ok的话完全可以达到落地应用的地步了。 在聊Fast Neural Style之前,我们先来回顾一下Neural Style,其实用Gatys的一张图就可以解释Neural Style在...

PRIS-SCMonkey的博客 2123

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【亲测免费】 开源项目推荐:Fast-Neural-Style

开源项目推荐:Fast-Neural-Style Fast-Neural-Style 是一个基于 Keras 的开源项目,主要使用 Python 编程语言实现。该项目是对论文 "Perceptual Losses for Real-Time Style Transfer and Super-Resolution" 的实现,能够在实时图像风格转换和超分辨率任务中取得良好的效果。 ...

gitblog_00159的博客 1043
上一篇: LNMP环境时不时报502问题解决记录
下一篇: scrapy 使用Feed exports 输出json lines文件
姜红杰
博客等级 码龄10年 9粉丝 35原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值