• rng

rng是numpy数组的随机种子

self.rng = np.random.RandomState(self.seed)
  • graph

???这里的图并没有使用inception网络

self.graph = tf.Graph()
# 这里使用graph_def作为inception网络
with tf.gfile.GFile(self.model_path, 'rb') as f:graph_def = tf.GraphDef()graph_def.ParseFromString(f.read())
  • sess

没有用inception的网络来创造会话

self.sess = tf.InteractiveSession(graph=self.graph)
  • d

网络中的密度场输入,shape:[D, H, W] (200, 300, 200)

# density input
self.d = tf.placeholder(dtype=tf.float32, shape=d_shp, name='density')
# 扩展维度以后的密度场,shape:[1, D, H, W, 1] (注意这里的channel是1,也就是灰阶图像,而不是3,rgb)
d = tf.expand_dims(tf.expand_dims(self.d, axis=0), axis=-1)
  • d_opt

???风格化的序列,暂时猜测这里是风格化后的速度场和密度场混合

self.d_opt = tf.placeholder(dtype=tf.float32, name='opt')
  • c

???维度。根据场的类型不同,维度也不一样。暂时猜测这里是将速度场和密度场进行混合,但是问题是密度场已经作为网络中的输入了,不需要再跟速度场混合。已知,该维度与self.v_有很大的关系。

#
# self.c is dimension
if 'field' in self.field_type:if self.w_field == 1:self.c = 1elif self.w_field == 0:self.c = 3else:self.c = 4 # scalar (1) + vector field (3)
elif 'density' in self.field_type:self.c = 1 # scalar field
else:self.c = 3 # vector field
  • v_ (v_p, v_s)

v_由梯度和旋度加权组成。shape:[B = 1, D, H, W, C]

if 'field' in self.field_type:d_opt = self.d_opt[:,:,::-1] * tf.to_float(tf.shape(self.d_opt)[2])if self.w_field == 1:self.v_ = grad(d_opt)elif self.w_field == 0:self.v_ = curl(d_opt)else:pot = d_opt[...,0,None]strf = d_opt[...,1:]self.v_p = grad(pot)self.v_s = curl(strf)self.v_ = self.v_p*self.w_field + self.v_s*(1-self.w_field)v = self.v_[:,:,::-1]vx = v[...,0] / tf.to_float(tf.shape(v)[3]) vy = -v[...,1] / tf.to_float(tf.shape(v)[2])vz = v[...,2] / tf.to_float(tf.shape(v)[1])v = tf.stack([vz,vy,vx], axis=-1)d = advect(d, v, order=self.adv_order, is_3d=True)elif 'velocity' in self.field_type:v = self.d_opt # [1,D,H,W,3]d = advect(d, v, order=self.adv_order, is_3d=True)else:# stylize by additiond += self.d_opt # [1,D,H,W,1]
  • b_num

batch_size

# of rotation matrix for batch process
self.b_num = self.v_batch
  • v, g, adv

这三个参数只在窗口包含多帧的情况下才会有。速度,梯度和平流梯度。
???这里不选择使用密度场平流而使用梯度场平流

# velocity fields to advect gradients [B,D,H,W,3]
if self.window_size > 1:self.v = tf.placeholder(dtype=tf.float32, name='velocity')self.g = tf.placeholder(dtype=tf.float32, name='gradient')self.adv = advect(self.g, self.v, order=self.adv_order, is_3d=True)
######
  • d_out

平流后的密度渲染结果

self.d_out = d
  • rot_mat, rot_mat_, views

rot_mat_是旋转矩阵,它用到了采样类型、self.rng即随机种子和视角数量,rot_mat和views暂时不清楚是什么意思

if self.rotate:d, self.rot_mat = rotate(d) # [b,D,H,W,1]# compute rotation matricesself.rot_mat_, self.views = rot_mat(self.phi0, self.phi1, self.phi_unit, self.theta0, self.theta1, self.theta_unit, sample_type=self.sample_type, rng=self.rng,nv=self.n_views)
  • d_img

从不同角度渲染的图像结果。shape: [B, H, W, 3]。
该参数是inception网络中的输入。
???这里不知道是一个密度场对应9个图像还是1个

  • layers

inception中带有Import和conv的所有层:

 'import/conv2d2_b','import/conv2d2_w','import/conv2d1_b','import/conv2d1_w','import/conv2d0_b','import/conv2d0_w','import/conv2d0_pre_relu/conv','import/conv2d0_pre_relu','import/conv2d0','import/maxpool0','import/localresponsenorm0','import/conv2d1_pre_relu/conv','import/conv2d1_pre_relu','import/conv2d1','import/conv2d2_pre_relu/conv','import/conv2d2_pre_relu','import/conv2d2'
self.layers = [op.name for op in self.graph.get_operations() if op.type=='Conv2D' and 'import/' in op.name]
  • content_loss, content_feature, style_loss, style_features, style_denoms, total_loss

损失函数

Styler类的变量相关推荐

  1. 吐槽C++:C++ 类成员变量初始化 之 初始化带有参数的构造函数 的类成员变量。...

    本来我想写这样的代码: class MatchManager{ public:MatchManager(){}class OnTimerRunFuncHelper{public:OnTimerRunF ...

  2. c++构造函数以及类中变量初始化顺序

    c++构造函数以及类中变量初始化顺序 Submitted by ant on Fri, 03/29/2013 - 20:05 构造函数 c++ 的类提供了一种抽象机制,使用起来要比 c 方便很多.为了 ...

  3. PyQt5 技巧篇-增加一个类级变量,类级变量的设置方法,类级“常量“设置方法

    如果想增加一个全局变量来用的话,请看这篇文章: Python全局变量引用设置方法 方法一: 直接设定类级变量. setupUi(args) 是界面运行一定会执行的,所以在这里给self绑定变量,整个类 ...

  4. java 反射 私有成员_Java对类私有变量的暴力反射技术讲解

    Java对类私有变量的暴力反射 假设有一个类,他有一个私有变量: package com.howlaa.day04; public class ReflectPoint { private int p ...

  5. C++---类成员变量定义为引用

    C++---类成员变量定义为引用 摘要:类成员变量是可以定义为引用类型的,但是我们需要注意一下用法 note1:在类中定义引用变量, 必须要在初始化列表中初始化该成员变量(const 类型数据成员也必 ...

  6. 类、变量、块、构造器、继承初始化顺序,终极解答

    转载自 类.变量.块.构造器.继承初始化顺序,终极解答 最近发现微信群里面有些群友在讨论类的初始化顺序,如类的静态变量.成员变量.静态代码块.非静态代码块.构造器,及继承父类时,它们的初始化顺序都是怎 ...

  7. python类成员变量_Python 类变量和成员变量

    Python 类变量和成员变量 类与对象的方法 我们已经讨论了类与对象的功能部分,现在我们来看一下它的数据部分.事实上,它们只是与类和对象的名称空间 绑定 的普通变量,即这些名称只在这些类与对象的前提 ...

  8. c++模板类静态成员变量_一文讲透父子类中静态变量,成员变量初始化顺序原理...

    推荐: 从面试到入职到离职,我在B站工作的30天时光 爱了爱了,Alibaba顶级MySQL调优手册到手,加薪妥了 爱了爱了,Spring Cloud Alibaba内部微服务架构笔记真的太牛了 本文 ...

  9. python跨函数调用变量_对python中不同模块(函数、类、变量)的调用详解

    首先,先介绍两种引入模块的方法. 法一:将整个文件引入 import 文件名 文件名.函数名( ) / 文件名.类名 通过这个方法可以运行另外一个文件里的函数 法二:只引入某个文件中一个类/函数/变量 ...

  10. 使用Mockito对类成员变量进行Mock

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Mock ...

最新文章

  1. PostgreSQL学习笔记(1)
  2. MIT开发新加密货币,用户所需数据比比特币减少99%
  3. 神经网络基础知识总结
  4. 虚拟机的联网模式正确的选择
  5. ALTER AVAILABILITY GROUP (Transact-SQL)
  6. 线性表C语言locate和ETget,线性表(数据结构重难点讲解)
  7. spark on yarn 配置及异常解决
  8. mysql管理数据 并上传至云端_怎样将MySQL数据库上传到服务器
  9. 起搏器可以用计算机吗,带心脏起搏器能否使用电脑
  10. erp沙盘采购总监的心得_经验分享 让ERP系统操作少走冤枉路
  11. 养兔子Fibo函数优化
  12. 第二季-专题19-移植tftp客户端
  13. 一卡通管理系统服务器,一卡通管理系统
  14. 免杀工具 -- FourEye
  15. 如何理解海森堡的「不确定性原理」?
  16. 对服务器进行DDoS攻击测试
  17. C#邮件过滤系统(论文+可执行程序+源码+外文翻译+程序操作演示录像)
  18. |- 微信 -| 网页授权登录
  19. 计划预算(PV)、实际完成工作预算(EV)、实际成本(AC)
  20. 【联想电脑升级网卡】BIOS 无线网卡白名单限制解决办法——不用刷BIOS,不用修改白名单,只需简单升级即可

热门文章

  1. Java基础汇总(二十二)——行为模式
  2. 计算机网络实验-网络嗅探器
  3. Android投屏神器scrcpy
  4. 航班时间(计算时间差)
  5. oracle删sequen,Oracle中如何创建使用SEQUENCES
  6. 一零四五、FAILED: SemanticException [Error 10293]: Unable to create temp file for insert values Expressio
  7. p站,一个神奇的网站
  8. Spring| AOP之 引入(Introductions)
  9. 智能卡(Smart Card)服务修复工具(解决无法读取外接设备的问题)
  10. 在Windows下配置Ubuntu启动引导项