图片与视频编码
传统的常见的图片格式有 BMP、PNG、JPEG、SVG、GIF 等,这里面 BMP 为位图,SVG 是矢量图像格式,GIF 是一种动态图像格式,PNG 是一种无损压缩图片格式,JPEG 是一种有损压缩图片格式。 JPEG 或称 JPG 可以说是最流行和常见的有损压缩图片格式,根据 w3techs.com 的统计,世界上 75.7% 的网页使用 JPEG 格式的图片。它由联合图像专家小组(Joint Photographic Experts Group)于 1992 年发布,距今已经三十多年。 不过这并不代表着我们平常遇见的有损压缩图片格式就只有 JPEG 一种,例如当你使用 iPhone 拍摄照片导出时,有时会导出 HEIC 格式的文件;从某些网站上保存图片时,你会看到 WebP 格式的图片,甚至是 AVIF 格式的图片,如果你由所了解,还会听说过 JPEG 2000、JPEG XR、JPEG XL 等格式。 在这些格式中,最流行的是占有如今 13.9% 网页份额的有损压缩图片格式 WebP,它由 Google 在 2010...
Back to Regression with PyTorch
首先,一个简单的,烂大街的 Linear Regression 模型,用 PyTorch 实现: 123456789101112131415161718192021# 假定已经引入了需要的库,并且有一个数据集 inputs 和 labelsdataLoader = DataLoader(TensorDataset(inputs, labels), batch_size=32, shuffle=True)class LinearRegression(nn.Module): def __init__(self): super(LinearRegression, self).__init__() self.linear = nn.Linear(1, 1) def forward(self, x): return self.linear(x)model = LinearRegression()criterion = nn.MSELoss()optimizer = torch.optim.SGD(model.parameters(),...
我没有去过巴塞罗那,但是 42
在我为了写操作系统实验而在网络上寻找参考的简单 shell 实现的时候,一个叫做 minishell 的仓库让我印象深刻:框架给的很好,代码也很适合初学者。我诧异为何这么好的项目却只有几个 star,过了几天,Github Mobile 又给我推荐了不止一个十分相似的 minshell。 实际上,不仅框架相同,readme也都标明了一段奇怪的字段: 42 打开其中一个人的 github 主页,这个人自称来自 42 Barcelona,仔细看一下仓库的话,还能看见其它的 42 Core 项目,比如 LibFt 之类的 这到底是个什么?为什么他们一直念叨着这个词汇呢? 我没有去过巴塞罗那,自然不能在当地的街头问 42 有什么含义,我只能在搜索引擎上查找,找到了官网,并被满屏幕西班牙文阻塞住了,等到自动翻译被生产出来才模模糊糊的意识到,这是一个学校, 42 School 的学业安排 进一步了解后发现,42 Barcelona 实际上是 42 The Network 的众多校区中的一部分 42 Barcelona...
使用 Git-filter-repo 来清理你的 Git Repo 历史
或许,你初学 Git 的时候,并不知道有 .gitingore 这个文件或者写的不够全面,导致你的 Git Repo 中有很多不必要的文件。 又或者,你曾经把一些大文件提交到了 Git Repo 中,导致 Repo 的体积变得很大,即使你已经删除了这些文件,Repo 的体积也没有减小。 又又或者,你曾经在你的仓库里写过一些十分羞耻的文章 or 十分重要的密码,你不希望有人能够直接通过 reset 或者 revert 来看到这些文件。 又又又或者,因为各种原因,你的 git log 有各种个各样的合并、变基、重置,导致你的 Repo 的历史变得十分混乱。 那么,这时候,不妨试一下 git-filter-repo 这个工具。 简介与安装 blabla 其作者在 仓库 的介绍中写道: git filter-repo 是一个多功能的历史重写工具,包含了我在其他地方找不到的功能。它大致与 git filter-branch 属于同一类工具,但没有令人沮丧的性能问题,功能更多,设计上在可用性方面超越了简单的重写案例。git 官方现在推荐使用 git filter-repo 而不是 git...
回归与迭代优化
这是一篇关于回归与迭代优化的文章,主要内容包括线性回归、逻辑回归、梯度下降、牛顿法等。 Linear Regression 线性回归 (Linear Regression)是一种用于建立输入变量与输出变量之间关系的线性模型。线性回归的目标是找到一条直线,使得所有数据点到直线的距离之和最小。这个距离可以是点到直线的垂直距离的平方和,也可以是点到直线的水平距离的平方和。 线性回归的目标函数 / 估计函数 (Hypothesis)可以表示为: hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxnh_{\theta}(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \cdots + \theta_n x_n hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxn 简单起见,我们把截距项 θ0\theta_0θ0 也加入到 θ\thetaθ 中,这样可以统一表示为: hθ(x)=θTxh_{\theta}(x) = \theta^T x hθ(x)=θTx 其中 x=[1x1x2⋮xn],θ=[θ0θ1θ2⋮θn]x =...
你的大学,并不是你的大学
Your university is not your university 近来的一件新闻是,全国各地的大学在三年疫情后重新又开放了,舆论是很激烈的,有的学生觉得,进入学校的有些社会人员的素质未免太过差,学校怎么不管管?有的声音则批评三年疫情培养出的学生是又封闭又自私,学校怎么不管管? 在此我不想讨论纳税人是否应该去参观税金养的市政府,也不想讨论中国大学的开放氛围应该怎么体现,我只想问几个问题 没有素质的人为何敢在大学没有素质,而不是在居民小区,或者是市政府没有素质? 回答说,大学生好欺负。 那么,一群二十出头,了无牵挂,没有工作,一人吃饱全家不饿的社会闲散人员们,何以是好欺负的呢? 回答说,大学生有软肋。 那么,大学生的软肋是什么?大学生为什么有软肋?利好于谁人? 谁的大学? 支持大学开放的人无不会表达一个观点,大学不只是学生的,还是社会的。...
我确实拿到了各种学生包,但是
你好,我是学生,请送我 虽然这段话多少有点刻板印象,但是免费的福利哪里有不要的道理:没错,我说的就是 Github 学生包 (Github Student Developer Pack)。 虽然很久之前,也就是还没上大学的时候就开始眼馋这个学生包,也在有了学信网认证后就去白嫖了一套,但是如今已经一年半多了,我深刻感觉到,这个 Pack 的价值很大,我却没有很好的用起来,比如说,拿到了免费的 JetBrains 全家桶,但我平常基本只用 VS Code,申请了免费的 Azure 云服务器,我却一直没用过,更不用说没去申请的,真是暴殄天物。 Github 全家桶 Github Pro 原价 4 美刀/月 功能参见 https://docs.github.com/zh/get-started/learning-about-github/githubs-plans Github Copilot 无需多言,原价 10 刀/月的 AI 代码助手,含金量极高,唯一的缺点就是用了就离不开 JetBrains 全家桶 大名鼎鼎的开发工具包,包括 Idea、CLion、PyCharm...
年终篇下,梦醒了该去哪里
What do you mean by forward ? 对于我而言,一个很自然的想法是,一切都会不断进步,一切都会不断向前,这里的一切,不仅囊括寰宇、世界、社会、人类,当然也包括我自己。我一向是相信进化论的,总以为将来必胜于过去,青年必胜于老人 1然而后来我明白我倒是错了。 未来没有理由更好 想想也是,有什么理由能让我们像宗教的狂信徒一般,皈依在所谓未来脚下呢?近来有一个笑话——...
跨平台应用开发框架技术的发展应用与展望
这篇是用来水《认知实习》的结课论文的,参考了以前写的一篇关于 GUI 开发框架的博客,借着这个机会顺便对那篇博文进行了一次修改作为一篇新博文,老文新水了属于是 这个报告只是单纯的应付作业,不要太注意细节 跨平台应用开发框架技术的发展应用与展望 随着移动设备的广泛普及,跨平台应用开发框架成为解决不同操作系统底层API差异的关键工具。本 文回顾了桌面端和移动端跨平台框架的发展历程,在桌面端,从早期的调用API 或自绘技术到如今以CEF 库的应用为代表的框架。在移动端,Web应用、原生渲染技术和自绘方案分别应对挑战与机遇,而UI描述 方式也经历了从混合到声明式、组件化的演变。未来,随着移动设备技术的进步,跨平台开发框架有望在 提高开发效率的同时,进一步优化用户体验。这一领域的创新将继续推动应用开发工具和方法的演进,为 开发者提供更高效、灵活的解决方案。 背景 近年来,随着智能手机和平板电脑等移动设备的广泛普及,移动端应用开发一直备受关注。然而,由 于不同移动端平台(iOS、Android)之间底层API 存在差异,大多数应用程序提供商不得不雇佣两组开发...
年终篇上 2023 的结束
首先点首 hardest to be 现在是 2023 年 的 12 月 26 日,我坐在宿舍里,眼神迟缓,精神萎靡不振,为了聊以慰藉,给自己一点好歹还做了点事情的错觉,我于是开始写,这一年的结束 既然这不是例行的学期回首,那不妨就专注一些空泛的主题吧 “这个世界哪里不好了?” 这个世界会变好吗? 如果是在 2020 年这样提问的话,或许所有人都会不禁触动,甚至于,在 2023...