avatar
文章
8
標籤
9
分類
4

首頁
歸檔
標籤
分類
友鏈
極東晝寢愛好家
首頁
歸檔
標籤
分類
友鏈

極東晝寢愛好家

技术相关|对 Python built-in pprint 进行拓展
發表於2023-03-10|Techniques
把上一个阶段的工作收尾之后,终于有时间实现一些平时想实现但比较麻烦就一直懒得弄的功能。事情的起因是这样的:刚刚我正在研究 Human3.6M 数据集的标注,这个数据集的标注是一个类似 JSON 的格式。并且除了一般的 JSON 文件结构外,其中还有一些字段的值是高维 numpy 数组。我试着将其中的两项打印出来,命令行瞬间被一大堆各种各样的数值填满了。尽管 IPython Terminal 的输出有自带的格式化功能,但整个输出的格式还是被巨大的数组打乱了。 实际上我平时经常行地遇到这种问题,一般的解决方法是仿照 mmcv.parallel.collate 中的形式写一个递归打印函数,然后把诸如 np.ndarray、torch.Tensor 以及 mmcv.DataContainer 这种高维数据的 __repr__ 函数映射为一个形式类似 lambda x: f"{x.shape}, {x.dtype}" 的函数。 这种方式虽然能在一定程度上解决高维数据打印的问题,但是由于函数逻辑未经仔细考虑,打印的效果依然不是非常好,甚至 ...
技术相关|在内网搭建开发环境
發表於2022-09-09|Techniques
最近依然是在绝赞跑代码做实验,然而因为学长需要在我用的服务器上 debug,所以我换到了组里的另一台机器上。但是这台机器有一个非常坑爹的地方,就是它没法连接外网。我用 ssh 连了一下发现并不能连通,ping 也全是超时,最后先 ssh 到了组里的另一台服务器上,又从这台服务器在内网连,才成功登录。 登录上去后测试了一下网络环境,发现果然只能连接内网,不能连外网。试图定位了一下原因但是无果(感觉很有可能是硬件问题,比如网卡坏了或者机房网线掉了),于是我最后决定通过搭建一系列代理来实现内外网相互连通。下面来记录一下配置的过程,出于安全相关的考虑,以下使用的 ip 地址均为编造的示例地址。 配置正向代理在内网上,我已经有了一台可以连接外网的机器 A(ip 地址为 192.168.10.1),以及一台无法连接外网,但可以通过内网进行访问的机器 B(ip 地址为 192.168.10.2)。 为了使机器 B 能够访问外网,一个比较直接的方法是以机器 A 作为代理,将流量包在外网和机器 B 之间进行转发。我使用的是轻量级 HTTP/HTTPS 代理 tinyproxy。 首先安装 ti ...
技术相关 | 编译 Pytorch 扩展时替换 nvcc 版本
發表於2022-08-27|Techniques
今天解决了一个有点复杂的环境问题,记录一下解决的过程。 在复现 ReferFormer 时,需要编译一个 Deformable Attention 算子。在编译的过程中,nvcc 使用了一个叫做 --generate-dependencies-with-compile 的 flag。非常不幸的是,我现有开发环境中的 nvcc 并不支持这一个 flag,导致我无法编译这个算子。为了解决这个问题,我首先确定了现有的 nvcc 版本: 1234nvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2019 NVIDIA CorporationBuilt on Fri_Feb__8_19:08:17_PST_2019Cuda compilation tools, release 10.1, V10.1.105 经过查找资料,我发现这个 flag 是在 nvcc-10.2 版本中被引入的。因此我决定替换运行环境中的 nvcc。 由于无法获得 sudo 权限,我只能在用户权限之内安装新版本的 nvcc。所幸,即使在没有管理员权限的情况下, ...
杂谈 | 我为什么要写作
發表於2022-04-18|Jottings
本文转载自微信公众号「長門有希观察」杂谈 | 我为什么要写作。 我的新公众号成立了,公众号名称「長門有希观察」取自《涼宮ハルヒシリーズ》中的登场人物长门有希。该角色的设定与本公众号的定位有比较高的相似性,因此我借来她的名字,命名了这个公众号。 实际上,这并不是我第一次创立公众号。在三年前的一个冬天傍晚,我窝在床上回想一年以来的种种经历,将万千思绪记录了下来,作为年终总结。苦于没有找到适合将其发表的平台,我创立了一个公众号。那个公众号取《Hearthstone》中的酒馆的意象,意为希望能有一个地方,让大家可以围着火炉喝着酒,听我讲一些自己的故事。正如古诗中所描述的一样——「绿蚁新醅酒,红泥小火炉。晚来天欲雪,能饮一杯无?」 可惜当时好景不长,在这一文章发表后的不久,我们便迎来了长达半年的居家时期。在这段时间里,我的生活单调意志消沉,自然也没有心情再去写些什么东西。这样的状态一直持续了半年,直到我返校之后搭建了个人网站,才又开始进行一些写作——不过这一次是以技术性博客为主,而不再用长篇的文字去记录生活。我的个人网站依托 Github Pages 服务进行托管,获得了比较高的自由度。但由 ...
笔记 | 一些乐理笔记汇总:基本概念
發表於2022-03-10|Notes
前段时间被叫去聊天,聊到了汪峰早年的一些作品。其间有人提到,《花火》这首歌创造出了生命短暂却像花火一般爆裂炽热的意境,并且主歌只用了两个九和弦。听完之后我深以为然,然后我转念一想,九和弦的音程是什么样来着?早就不记得了。 由此我进而想到,我的乐理知识过于碎片化,且掌握得也很三脚猫。因此,我在这里开一个帖子,汇总一些乐理的笔记,常来看看也好加深印象。这个帖子应该会偶尔更新,当我看到一些新的知识的时候就整理到这里。 音符的记法:音名、简谱、唱名音名与钢琴键是相对应的,在钢琴上,每一组包括 7 个白键和 5 个黑键。用 CDEFGAB 七个字母表示的音名即对应于同一组中的 7 个白键。黑键的音是由相邻白键升降半音得到的,由于每个黑键都与两个白键相邻,所以每个黑键都有两个音名。例如,C 和 D 之间的黑键既可以是 C# 也可以是 Db。 虽然 C# 与 Db 对应于同一个音,但是两者不可以混淆使用。因为当音符带有还原符号时,C# 会被还原到 C、Db会被还原到 D,从而产生不同的效果。对于 EF、BC 两组中间没有黑键的音,其也有升降,例如 E# 与 F 为同一个音,这种情况被称为等音。 对应 ...
技术相关 | Python 动画引擎 manim 浅度体验与思考
發表於2022-03-01|Techniques
前段时间在写 Wordle Solver,查阅资料的时候发现了 3Blue1Brown 的 Youtube 频道,在看视频的时候发现频道中的视频基本上都是用一个叫做 manim 的动画引擎做的。我感觉蛮有意思,就安装下来简单体验了一下。 manim 最初是由一位个人开发者开发的,由于其不承诺长期提供支持,后来又出现了 3b1b 维护的 manimgl 版和 manimCE 社区版。这三种的特性与具体用法都存在一定的差异,考虑到 manimgl 版本可以使用 OpenGL 进行渲染,并且已经出现了一些基于它制作的比较高质量的成品视频,我在体验时选择了 manimgl 版。 manim 浅度体验manimgl 使用 pip 即可安装: 12pip install manimglpip install pyopengl 除安装上述包外,还需要安装 ffmpeg 用于视频编解码,以及 LaTeX 以支持公式渲染(推荐使用 Tex Live 发行版,功能相对强大一点)。由于这两者我的开发环境中已提前配置,所以无需重复这一步骤。 配置完成后,即可运行其自带的 demo 脚本: 1manimgl ...
教程 | 利用 Github Actions 实现代码推送后自动部署
發表於2022-02-18|Tutorials
博客自从搭建以来已经搁置一段时间了,最近想在友链里多加上几个好友的链接,但在我将最新的页面代码推送到远程仓库后,Github Pages 的部署流程并没有被成功触发。因此,我决定研究一下 Github Actions 的用法,并在此记录一下。 GitHub Actions 可以自动化地实现一些工作流,例如在代码推送或 pull request 发起时,进行一系列测试、打包、部署等操作。当工作流启动时,它会创建一个容器,并安装软件、配置环境,在流程结束后还会将生成的数据推送到指定的位置。 我的博客使用 hexo 框架进行搭建,版本控制采取“开发-部署”的双分支模型。因此,在我需要更新我的博客时,首先我需要在博客的源代码中进行编辑,然后依次运行 hexo clean、hexo server、hexo deploy 进行预览和部署,然后将源代码 commit 并推送到远程,进行版本控制。这一流程可以使用 Github 的 Actions 功能进行简化。利用 Github Action,在代码推送后,Github 服务器可以自动启动编译与部署的流程。 仓库读写权限配置为了使用 Github A ...
教程 | Github Pages + hexo 搭建个人博客
發表於2020-10-18|Tutorials
注意:这是一篇教程性质的文章,但为了说明的简洁性并不会讲解所有细节。我默认这篇文章的读者具有一定的信息检索能力,并具备各方面的基本知识。 心血来潮决定把个人博客搬迁到自己的网站上,因此采取这种方法进行搭建,并记录一波搭建流程,大概有以下几个步骤: 准备一个 Github page 的仓库 准备 hexo 框架 初始化你的博客 部署到服务器端 除此之外,还会提到一些关于博客日常维护和美化的方式。(如果之后研究得比较顺利,或许还可以分享一些定制化、调用第三方 api、性能优化等方面的内容) 准备一个Github仓库一个 Github page 对应于一个名称以 .github.io 结尾的仓库,仓库的名称即为 Github page 的地址。与此相关需要做的工作包括: 注册一个 Github 账号 在本地配置 git (可选)配置 git 的用户名、邮箱、配置 ssh 公钥等 上述操作可自行完成,仓库创建好后可以在其中放置一个 README.md 文件,再访问对应 Github page 的地址,可以发现 README 文件的内容已经在其中显示了,至此 Github page ...
1
avatar
LittleNyima
文章
8
標籤
9
分類
4
Follow Me
公告
欢迎来到 LittleNyima 的栖息地~(偶尔出没)
最新文章
技术相关|对 Python built-in pprint 进行拓展2023-03-10
技术相关|在内网搭建开发环境2022-09-09
技术相关 | 编译 Pytorch 扩展时替换 nvcc 版本2022-08-27
杂谈 | 我为什么要写作2022-04-18
笔记 | 一些乐理笔记汇总:基本概念2022-03-10
分類
  • Jottings1
  • Notes1
  • Techniques4
  • Tutorials2
標籤
Github Actions Music theory Manimgl Animation engine Python Linux Writing Pytorch Hexo
歸檔
  • 三月 20231
  • 九月 20221
  • 八月 20221
  • 四月 20221
  • 三月 20222
  • 二月 20221
  • 十月 20201
網站資訊
文章數目 :
8
本站訪客數 :
本站總訪問量 :
最後更新時間 :
©2020 - 2023 By LittleNyima
框架 Hexo|主題 Butterfly