Deep learning: Convolution and Transposed Convolution
Intro在深度学习领域,卷积神经网络(CNNs)已经成为了图像处理和计算机视觉任务中最重要的技术之一。卷积操作是 CNNs 中最基础的操作之一,它可以有效地提取出图像中的特征,并使用这些特征来识别物体,主要应用于图像处理、语音识别、自然语言处理等领域。
然而,有时候我们需要将图像进行上采样,也就是将其放大或扩展到更大的尺寸。为了实现这个目的,我们需要使用一种叫做 ConvTranspose2d 的操作,它也被称为转置卷积。
在本文中,我们将深入研究卷积和转置卷积的原理、应用和代码实现。我们将讨论卷积和转置卷积的数学原理,包括矩阵乘法和张量的形状等。我们还将探讨卷积和转置卷积的一些应用,例如转置卷积在生成对抗网络(GANs)中的图像生成和图像分割任务中的应用。最后,我们还将提供 Python 代码实现,以演示它们的工作原理。
数学原理卷积
卷积的连接方式如上图所示,蓝色矩阵表示输入,绿色矩阵表示输出,每个绿色块与 9 个蓝色块连接。
把卷积核用矩阵表示如下:
\mathbf{w} = \begin{pmatrix} w_{0,0} & w_{0,1} & w_{0,2} \\ w_{ ...
LatestNote on Perfume
香水的基本概念与组成基本成分
香精:核心成分,多数为人工合成,天然比例很少
酒精:主要溶剂,占比 ≥70%
蒸馏水:少量添加
定香剂:帮助延长留香时间
研发流程
品牌提出需求(可能是一段诗、一种颜色、一个概念等)
香精公司评香师解读需求
调香师根据需求撰写配方
实验室制作样品 → 评香师筛选
品牌方确认/修改 → 多轮调整
最终成品上市
时间周期:短则1个月,长则半年以上
香水的评价维度与标准浓度等级(香精占比)
类型
浓度范围
留香时间
特点
古龙水(EDC, Eau de Cologne)
2%-5%
约1小时
酒精比例高,扩散性强,清新轻快
淡香水(EDT, Eau de Toilette)
5%-10%
3-4小时
最常见的商业香水浓度,日常适用
淡香精(EDP, Eau de Parfum)
10%-15%
5小时以上
能完整体验香调变化,性价比高
香精(Parfum)
15%-25%
5-10小时
液体浓稠,价格高,多见于沙龙香
极致浓度(Extreme)
35%-40%
极长
收藏向,重口味爱好者选择
重要性能指标
留香时间 ...
Note on Hexo
常用技巧创建新的博客定位到 Hexo 根目录,在 Git 中执行命令:
1hexo new "blog title"
Hexo会帮我们在 hexocode\source\_posts 下生成相关 .md 文件。
推送博客可以通过 hexo d将本地博客推送到 GitHub 仓库。也可以使用以下命令节省操作:
1hexo cl && hexo g && hexo algolia && hexo d && hexo s
这段命令是把几个 Hexo 命令用 && 串联起来执行,每个命令的分析如下:
hexo cl :清除 Hexo 的缓存文件(.deploy_git、public 文件夹等),保证生成新内容时不会受到旧文件的影响。
hexo g :生成静态网页文件,把 Markdown 文章渲染成 HTML 文件并放到 public文件夹中。
hexo algolia :调用 Hexo 的 Algolia 插件,把生成的文章数据(如标题、摘要、正文等)推送到 Algolia 搜索服务,方便在 ...
Troubleshooting: 'The .NET Core SDK cannot be located.' errors
Introduction有时 VS Code 打开后会出现下面的报错内容:
The .NET Core SDK cannot be located. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.
这意味着程序想要运行 dotnet 命令,但是 dotnet 没能在程序的 PATH 中找到。
如果没有下载 .NET Core SDK,可以通过链接进行下载。
如果已经下载 .NET Core SDK,意味着 dotnet (Linux and macOS) 或 dotnet.exe (Windows) 不在路径中,至少不在拓展程序的路径中。
General troubleshooting steps on Linux/Mac首先在终端运行 which dotnet 命令,如果生成一条路径,则可以尝试从终端启动 VS Code。
先打开 VS Code,然后按下快捷键 Command + Shift + P,进入命令面板后输入 sh ...
Make a 2D Platformer in Unity
Intro本文是对教程 Learn How to Make a 2D Platformer in Unity 2022 - FULL GAMEDEV COURSE! 做的笔记,用来锻炼 Unity 的实践能力。
Project Setup首先我们需要创建一个新的项目。因为这个项目中的所有美术元素都是像素风格的,所以我们需要创建一个预设文件用来导入纹理,这样,每次我们到入新的像素文件的时候,这些文件都可以被预处理为正确的格式。
在创建项目时,我们选择创建 2D (URP) 类型的项目,这类项目会使用 Universal Render Pipeline。
在项目创建好以后,我们开始创建预设文件。首先我们需要选择任意一张 JPEG 或 PNG 图片,把它拖放到项目中的 Assets 文件夹中。点击文件夹中的图片,就会在 Inspector 一栏显示它的信息,我们在这里进行如下改动:
把 Pixels Per Unit 设置为 16
修改 Filter Mode 修改为 Point (no filter)
修改 Max Size 为 4096
修改 Compression 为 None
之 ...