美文网首页
风格迁移模型压缩 第三期

风格迁移模型压缩 第三期

作者: nonoka | 来源:发表于2019-01-23 14:28 被阅读0次

1 安装bazel

        Bazel是google推出的一款工程编译工具,并且已经将其开源。

        Bazel可以快速地构建可靠的代码,谷歌的大多数软件都是由它来构建,因此,在谷歌的开发环境里,它主要负责处理代码构建相关问题:大规模数据构建问题,共享代码库问题,从源代码构建的软件的相关问题。

        Bazel支持多种语言并且跨平台,还支持自动化测试和部署、具有再现性(Reproducibility)和规模化等特征。Bazel在谷歌大规模软件开发实践能力方面起着至关重要的作用。简单来说,Bazel类似于make。

1.1 Ubuntu18.04

未安装JDK8

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

已安装JDK8

echo "deb http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install bazel
sudo apt-get upgrade bazel

1.2 CentOS

  1. Download the corresponding .repo file from Fedora COPR and copy it to /etc/yum.repos.d/.
  2. Run the following command:
yum install bazel

2 模型导出

        模型导出使用export.py文件,只需修改其中模型的输出路径,并且根据自己的文件位置传入正确的参数即可,导出成功后,在设定的输出文件夹中可以得到pb格式的模型文件,其大小与原来ckpt.data文件相同。

python export.py --model_file models/your_model.ckpt --model_name your_model_name

3 模型量化

git clone https://github.com/tensorflow/tensorflow
cd tensorflow
sudo bazel build tensorflow/tools/graph_transforms:transform_graph 
sudo bazel-bin/tensorflow/tools/graph_transforms/transform_graph --in_graph=/your/.pb/file  --outputs="output_node_name"  --out_graph=/the/quantized/.pb/file  --transforms='quantize_weights' 

4 模型调优

TotalVariation

Total Variation Regularization. To encourage spatial smoothness in the output image yy, we follow prior work on feature inversion [6,20] and super- resolution [48,49] and make use of total variation regularizer ℓTV(y)ℓTV(y).

        在读杨培文的博文《风格迁移三部曲》时发现了其提到了一个TV Loss,说是为了平滑图像。它的计算方法很简单:

\Large{V_\text{aniso}(y)=\sum_{i,j}|y_{i+1,j}-y_{i,j}|+|y_{i,j+1}-y_{i,j}|}

        将图像水平和垂直平移一个像素,与原图相减,然后计算绝对值的和,就是Total Variation。本来是想自己实现一个tv_loss,然后改进现有的风格迁移算法,但在现有代码中搜索时发现,原作者已经实现好了tv_loss,只是在yml的配置文件中,给tv_loss设置的权重为0,即没有使用这项损失。由于不知道tv_loss该设为多少,打算通过多次实验试出最佳值。

相关文章

  • 风格迁移模型压缩 第三期

    1 安装bazel Bazel是google推出的一款工程编译工具,并且已经将其开源。 Bazel可以快速地构建可...

  • 风格迁移模型压缩 第一期

    第五周马上又要结束了,这一周安排的任务是风格迁移模型的压缩和部署。部署暂时是打算用TensorFlow Lite之...

  • 风格迁移模型压缩 第二期

    昨天将模型压缩到了4.4MB,之后还想进一步压缩,这时最直接的一个想法是将模型中的单精度浮点数换成半精度浮点数,从...

  • 27.深度学习模型压缩方法-1

    目前深度学习模型压缩方法主要分为更精细化模型设计、模型裁剪、核的稀疏化、量化、低秩分解、迁移学习等方法,而这些方法...

  • 蒸馏学习

    知识蒸馏解决的问题 提升模型精度 降低模型时延,压缩网络参数 标签之间的域迁移 基本框架 知识蒸馏采取Teache...

  • 风格迁移模型架构优化

    在移动端部署时,比较成熟的方案是使用单模型单风格(Per-Style-Per-model,PSPM)的模型,因为这...

  • 风格迁移模型性能测试

    为了优化模型的CPU占用以及运行时间,使用TensorFlow提供的测试脚本benchmark_model进行模型...

  • 人人都是毕加索

    基于 Pytorch 和 VGG19 模型实现图片风格迁移。 相关 Pytorch 官方教程 相关 Github ...

  • 4.8 django ORM模型迁移

    ORM模型迁移 迁移命令: makemigrations:将模型生成迁移脚本。模型所在的app,必须放在setti...

  • Flask-day03

    一、Flask-Migrate插件(模型迁移) 数据迁移Django中,模型创建好只需要创建迁移文件,执行迁移文件...

网友评论

      本文标题:风格迁移模型压缩 第三期

      本文链接:https://www.haomeiwen.com/subject/kaijjqtx.html