- 博客(62)
- 收藏
- 关注
原创 【VS】命令行参数设置相关
在VS中向命令行添加参数,即对于main()函数传递参数的方法:在终端中直接添加相关参数,用空格隔开。在VS中,右键单击要添加参数的工程–>属性–>配置属性–>调试,在右侧“命令参数”栏输入要添加的参数,各参数间同样用空格隔开。int main(int argc, char **argv)对于传递进来的参数,其中argc为对于main函数的参数数,此处为3。argv为字符串数组保存参数值。其中argv[0]为程序名,argv[1]为"Bucky.raw",argv[2]为“
2020-10-16 17:34:22
1619
1
原创 Ubuntu GPU相关命令
Linux查看Nvidia显卡信息及使用情况nvidia-smi表头含义Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A;Temp:显卡内部的温度,单位是摄氏度;Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;Pwr:能耗表示;Bus-Id:涉及GPU总线的相关信息;Disp.A:是Display Active的意思,表示GPU的显示是否初始化;Memory Usage:显存
2020-09-08 10:46:17
669
原创 Ray_Tracying_Gem_Chapter_28 代码理解
文件结构文件结构如下:hdr_loader.h : 用作外部文件的导入。main.cpp : 其中包括启动初始化cuda、glew、glfw、新建窗口、添加着色器、创建对于图形界面的各种操作(键盘、鼠标、滑轮等事件)、创建环境的材质、处理相机的移动等。volume_kernel.h: 其中定义了Kernel_params数据结构,该结构中有包括展示、渲染状态、相机、环境、体定义(volume definition)等相关的参数。volume_kernel.cu : 需要用到cuda来加速的整个
2020-08-29 21:56:02
338
原创 Delta Tracking 理解
Delta Tracking.我们可以使用delta tracking来完成在非均质体中自由路径的无偏采样。一些与这个方法并列的方法,如Closed-form Tracking、Regular Tracking 等追踪方法都应用了“俄罗斯轮盘赌”、“逆变换采样”和“拒绝采样”等方法。此处的delta tracking 方法(也叫Woodcock tracking)的主要思路是想对于不均质的介质以均质的思路来采样处理,所以首先需要对介质均质化。通过引入假想的介质(fictitious medium),我
2020-08-28 18:48:09
1100
1
原创 《Ray Tracing Gems》 学习笔记 (第二章)
Chapter 2 : what is a Ray?上一章,我们理解了什么是光线投影(ray casting)和光线追踪(ray tracing)。这章节我们细致来看什么是光线。ABSTRACTWe define a ray, show how to use ray intervals, and demonstrate how to specify a ray using DirectX Raytracing (DXR).在本节中,我们会定义一条光线,展示了如何使用光线间隔(ray interval
2020-08-20 15:09:28
752
原创 【现代计算机图形学 GAMES101】 第六讲:光栅化及反走样(二)
第六讲:反走样在MVP变化之后,有一个视口的变换,我们会把-1到1的三次方映射到屏幕上去,然后就涉及到了光栅化。最重要的思想就是我们要利用像素的中心对三角形可见性这个函数进行采样。因为我们认为像素是一个有着均匀颜色的小方块,然后我们就用像素的中心,来检测三角形中是否包含这个中心点,然后把对应的像素涂成红色或白色。然后这会出现一点问题。锯齿锯齿的学名叫走样(Aliaing),我们要做就是反走样。那从采样的原理开始说,光栅化的过程其实就是在屏幕空间用一些像素的中心点是否在三角形内这个函数的一个采样,照
2020-08-20 11:05:21
367
原创 关于传输方程(transfer function)的总结
什么是传输方程在体绘制中,传输方程将三维数据场的数据信息转换为光学成像参数,建立了采样点和光学特征的映射关系。数学上,传输方程可以定义为三维数据的数据属性到光学属性的映射。传输方程的数据信息定义域对于传输方程,可以设置不同的值作为其定义域体数据通常被看作是连续标量函数f(x)f(x)f(x)的离散表示。最常用的一维传输函数使用标量值作为传输函数的定义域,标量值可以用来区分不同的物质。另外,梯度模也经常用来观察物体形状的边界。标量值采样点的标量值是最简单、最常用的数据属性,它可以是三维空间中多
2020-08-12 10:45:03
3873
原创 【现代计算机图形学 GAMES101】 第五讲:光栅化(一)
上节回顾上节主要提到了观测变换 (Viewing transformation), 其中包括了视图变换和投影变换。所谓的视图变换就是利用摄像机和物体的相对位置关系,始终把摄像机从任意一个位置移动到经典的原点位置,看向-z,并且向上方向是+y。并且保持其他物体和摄像机一样的移动。此时,我们就可以得到所有的物体都是由一个标准位置的相机看过去的,此时我们要做的就是把它从三维投影到二维。投影分为正交投影和透视投影。区别:正交投影:把深度信息忽略,假设相机放的无限远透视投影:我们可以获得一个近大远小的效果
2020-07-19 12:15:52
517
原创 【计算机图形学(华科)】学习笔记
第一篇:课程预览课程特点站在图形渲染管线的视角看计算机图形学按流水线中的三个概念阶段:应用阶段、几何阶段、光栅化阶段来组织课程将图形理论和图形编程结合基于最新的图形理论和图形编程体系例如:在理论上,给出了‘法线贴图’、‘光线追踪’、‘延迟渲染’、‘物理渲染’在实践上,给出了最新的编程体系:基于可编程管线进行编程,采用主流的图形标准:OpenGL。图1什么是计算机图形学研究怎么利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科。对于一个图像来说,输入的是结构特征数据,输出的
2020-07-13 10:08:36
448
原创 【Pytorch 学习笔记(五)】:跟着样例学torch
文章目录跟着样例学torchTensorsWarm-up: numpyTensorsAutogradTensors and autogradPytorch : Defining new autograd functionsnn modulepytorch: nnpytorch: optimPytorch: Custom nn Modulespytorch:Control Flow + Weight...
2020-04-22 20:23:02
338
原创 【Pytorch 学习笔记(四)】:训练分类器
文章目录训练分类器datatraining an image classifier1. Loading and normalizing CIFAR102. Define a Convolutional Neural Network3. Define a Loss function and optimizer4. Train the network5. Test the network on the...
2020-04-21 11:50:24
829
原创 【Pytorch 学习笔记(三)】:NN相关
文章目录NEURAL NETWORKSDefine the networkloss functionBackpropUpdate the weightsREFNEURAL NETWORKS我们可以用torch.nn包来构建神经网络。在之前的文章中了解了autograd,nn包则依赖于autograd包来定义模型并对它们求导。一个nn.Module包括不同的层和用来返回输出的方法forward...
2020-04-20 19:00:03
494
原创 【Pytorch 学习笔记(二)】:AUTOGRAD相关
文章目录AUTOGRAD 相关TensorFunction演示GradientsAUTOGRAD 相关AUTOGRAD 包是pytorch中和神经网络关系最为密切的一部分。它可以为基于tensor的的所有操作提供自动微分的功能。它是一个在运行时定义(define-by-run)的框架,这意味着其中的反向传播是根据代码如何运行来决定的,并且每次迭代可以是不同的。Tensortorch.Ten...
2020-04-20 14:35:49
331
原创 【Pytorch 学习笔记(一)】:Tensor相关
文章目录Tensors 基本操作newaddviewitemNumPy BridgeTorch tensor ——> NumPy arrayNumPy array ——> Torch tensorCUDA TensorsTensors 基本操作100+ tensor相关的操作符文档Tensor 和NumPy 中的ndarray相似。new我们可以通过这样的方式来新建一个t...
2020-04-19 21:10:51
415
原创 Leetcode22.括号生成
文章目录题目描述题解DFS(java)DFS2(java)题目描述数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]题解DFS(java)比较经典的dfs解法,比起全部遍历添...
2020-04-12 23:40:44
185
原创 Leetcode面试题13.机器人的运动范围
文章目录题目描述题解DFS(java)DFS2(java)BFS(java)题目描述地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1]。一个机器人从坐标[0, 0]的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但...
2020-04-08 23:29:24
210
原创 Leetcode2.两数相加
文章目录题目描述题解常规法1(java)常规法2(java)题目描述给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6...
2020-04-07 23:59:07
164
原创 Leetcode72.编辑距离
文章目录题目描述题解动态规划(java)题目描述给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rorse (将 ‘h’ 替换为...
2020-04-07 00:33:36
142
原创 Leetcode42.接雨水
文章目录题目描述题解暴力法(java)单调栈(java)动态规划(java)题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。说明:输入: [0,1,0,2,1,0,1,3,2,1,...
2020-04-05 00:22:13
220
原创 Leetcode8.字符串转换整数
文章目录题目描述题解方法一(java)方法二(java)题目描述请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来...
2020-04-04 00:16:46
141
原创 Leetcode203. 移除链表元素
文章目录题目描述题解哨兵法(java)题目描述删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5题解哨兵法(java)思路:比较简单,但如果忘记设置哨兵节点的话,处理起来第一个节点会有点麻烦,算是一个trick,用来返回he...
2020-03-31 00:10:30
114
原创 Leetcode429. N叉树的层序遍历
文章目录题目描述题解迭代法(java)递归(java)题目描述给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。示例:返回其层序遍历:[[1],[3,2,4],[5,6]]说明:树的深度不会超过 1000。树的节点总数不会超过 5000。题解迭代法(java)思路:用队列处理,在输出列表中添加了当前节点的值之后再把该节点的子节点都添加到...
2020-03-26 23:51:10
204
原创 Leetcode589.N叉树的前序遍历
文章目录题目描述题解递归(java)迭代(java)递归2(java)题目描述给定一个 N 叉树,返回其节点值的前序遍历。示例:返回其前序遍历: [1,3,5,6,2,4]。题解递归(java)思路:效率很低,但是比较好理解的递归思路class Solution { public List<Integer> preorder(Node root) { ...
2020-03-26 00:05:25
205
原创 Leetcode590.N叉树的后序遍历
文章目录题目描述题解头插法后序遍历(java)递归(java)题目描述给定一个 N 叉树,返回其节点值的后序遍历。示例:返回其后序遍历: [5,6,3,2,4,1].题解头插法后序遍历(java)思路:对树进行遍历,同时用头插来保证后序遍历。/*// Definition for a Node.class Node { public int val; p...
2020-03-25 00:09:31
208
原创 Leetcode50.Pow(x, n)
文章目录题目描述题解暴力(java)分治(java)题目描述实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输出: 9.26100示例3:输入: 2.00000, -2输出: 0.25000解释: 2−22^{-2}2−2 = 1/221/2^{2}1/...
2020-03-24 00:21:08
147
原创 斯坦福教授告诉你:什么是元学习「 CS330 笔记 (三) 」
文章目录写在前面元学习基础如何理解元学习算法问题定义举例写在前面本系列博客为斯坦福大学 Stanford CS330: Multi-Task and Meta-Learning 2019 的学习笔记。博客中出现的图片均为课程演示文档的截图。笔记为课程的内容整理,主要是为了方便自己理解和回顾,若有纰漏和错误,烦请评论指出,谢谢啦 ~ 。希望对你有帮助。如需转载,请注明出处。CS330课程传送门...
2020-03-22 18:10:06
1706
3
原创 斯坦福教授告诉你:什么是多任务学习「 CS330 笔记 (二) 」
文章目录写在前面多任务学习基础符号说明(notation)任务的定义举例多任务分类问题(Multi-task classification)多标签学习问题(Multi-label learning)损失函数不同的情况基础结构Conditioning on the task分离每个任务的网络共享几乎所有的网络其他常见的conditioning方式1. 基于连接的限制 (Concatenati...
2020-03-20 21:18:12
1602
原创 斯坦福教授告诉你:为什么要学习元学习「 CS330 笔记 (一) 」
文章目录写在前面课程介绍问题导入多任务学习和元学习的意义什么是任务(task)重要假设问题描述(informal)multi-task vs. single-task多任务学习发展历史写在前面本系列博客为斯坦福大学 Stanford CS330: Multi-Task and Meta-Learning 2019 的学习笔记。博客中出现的图片均为课程演示文档的截图。笔记为课程的内容整理,主要是...
2020-03-18 19:42:49
1225
原创 Leetcode349.两个数组的交集
文章目录题目描述题解集合去重法(java)集合去重法2(java)题目描述给定两个数组,编写一个函数来计算它们的交集。示例1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考...
2020-03-17 00:13:43
202
原创 Leetcode面试题03.数组中重复的数字
文章目录题目描述题解哈希表(java)哈希表2(java)交换法(java)题目描述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3说明:2 &l...
2020-03-16 00:04:26
157
原创 Leetcode1.两数之和
文章目录题目描述题解暴力(java)哈希法(java)题目描述给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + ...
2020-03-13 23:44:51
98
原创 Leetcode49.字母异位词分组
文章目录题目描述题解哈希法(java)字母个数法(java)题目描述给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。...
2020-03-13 22:13:38
139
原创 Leetcode242.有效的单词异位词
文章目录题目描述题解哈希法(java)排序法(java)题目描述给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例1:输入: s = “anagram”, t = “nagaram”输出: true示例2:输入: s = “rat”, t = “car”输出: f...
2020-03-10 23:47:09
161
原创 Leetcode141.环形链表
文章目录题目描述题解快慢指针法(java)哈希表(java)题目描述给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2:...
2020-03-09 23:41:08
120
原创 Leetcode239.滑动窗口最大值
文章目录题目描述题解暴力(java)双端队列(java)题目描述给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,...
2020-03-04 23:46:13
149
原创 Leetcode155.最小栈
文章目录题目描述题解两个栈(java)单栈法(java)题目描述设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new M...
2020-03-03 22:03:06
142
原创 Leetcode225.用队列实现栈
文章目录题目描述题解用Linklist常用函数模拟(java)题目描述使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空说明:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is e...
2020-03-02 00:02:28
195
原创 Leetcode20.有效的括号
文章目录题目描述题解入栈法(java)暴力法(java)题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1:输入: “()”输出: true示例2:输入: “(]”输出: false...
2020-02-27 23:39:57
182
原创 Leetcode24.两两交换表中的节点
文章目录题目描述题解迭代法(java)递归(java)题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.题解似乎链表题目,解法通常都是迭代和递归。迭代法(java)思路:/** * Defin...
2020-02-25 12:20:45
142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人