LiuZhian's Blog

Welcome to my home~

一文掌握Python装饰器

@decorator

一文掌握Python装饰器1. 什么是装饰器举个例子,我们在写Python类的时候,为了将成员设置为只读类型的,我们可以用@property装饰器去装饰一个与成员变量同名的函数,如下: 12345678910class Student: def __init__(self): self._name = "Jack" @property def name(sel......

初识TorchScript

TorchScript初见自从PyTorch 1.3 开始,PyTorch也支持部署到移动端了,那么很自然地,就有以下两个必须待解决的问题: 如果我们训练好了一个模型,我们怎么将这个模型序列化/反序列化,从而可以在移动端上导入并运行; 序列化好的模型应该不受Python语言的限制,从而可以在别的语言环境下载入,例如Android中的Java,iOS中的Swift/Objective-C,甚......

从源码学习 DenseNet

Learn from source code

DenseNet 1. 优点 由于引入了更多shorter connections,缓解了梯度消失(gradient vanishing)的问题; 特征的传导更加简单,strengthen feature propagation; 特征更大程度被复用,feature reuse; 有点反直觉的是,参数量居然更小了!因为每个layer的channel数只有12! 2. 细节 DenseB......

从源码学习 Faster-RCNN

Learn from source code

从源码学习 Faster-RCNN说在前面的话: 一直认为光读论文没什么用,因为很多实现的trick是很难用文字可以表达的,结合代码和论文往往可以更好地get到作者的意思。在看本文之前,强烈建议阅读[1],对Faster-RCNN的大致处理流程有个感性的认识。此外,声明一点,在本文中,RoI(Region of Interest)和proposal你可以认为就是一个东西。 Faster-RC......

tmux初体验

A useful terminal tool.

tmux初体验1. 什么是tmux?TMUX stands for terminal multiplexer, which is a program runs in a terminal and allows other program to be run inside it. 也就是说,tmux是一个管理终端程序的程序,即所谓终端复用程序。 2. tmux可以干什么? 多窗口管理应用程序(......

Leetcode-740-删除与获得点.md

动态规划

1. 题目描述给定一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除每个等于nums[i] - 1 或 nums[i] + 1 的元素。 开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。 示例 1: 12345输入: nums = [3, 4, 2]输出: 6解释: 删除 4 来获......

LeetCode-198-打家劫舍

动态规划

1. 题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 1: 1234输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 ......

Pytorch实现warping操作

Pytorch实现warping操作warping思路如果现在有2张图片,记作为A和B,同时,我们已经得到了这两帧之间的光流,我们可以将图片B和光流进行一个warping操作,从而得回到图片A,那么这个功能在Pytorch里面怎么实现呢? 实现的思路到不是很难,如下: 首先,我们需要分别定义水平方向x和竖直方向y的meshgrid(size为H,W,2),代表第二帧每个像素的位置; 然后,......

C3D论文笔记

3d-ConvNet for detecting spatial-temporal features

Learning Spatiotemporal Features with 3D ConvNets1. Introvideo feature descriptor 需要满足下面几个性质: 通用性好,从而可以表征各种视频数据,并且提取的特征具有足够的判别性,即discriminative; 特征更加紧凑,这样有助于下游的数据处理、检索等等; 计算高效,如今视频数据很多,对这些视频的特征提取应......

Java内存模型

OverviewJava很受青睐的原因之一就是其强大的内存自动管理,对于我们程序员来说,带来了极大的方便。但是,本着Get Our Hands Dirty的原则,我们对其中了解的越多,就越有助于我们使用。此外,Java的内存管理方式也和Java并发编程息息相关,本文是《Java并发编程的艺术》第三章的读书笔记。 1. Java内存模型...