Home
Home
取消

Leanote 改造笔记

背景 通过 Leanote 写笔记,经过整理后可以直接发布 Blog 的这种模式比较戳我了。 不过一直有点忍受不了 Leanote 的分类逻辑和 Hexo ,Hugo ,Jekyll 等静态博客不太一样,用着主题市场中半成品的主题,就这样凑合着过了两年。 但直到看到了一款 Jekyll 的主题 Chirpy,可以说是一间钟情了,果断移植到 Leanote 上。 在移植过程中越来越忍受不了 Leanote 奇怪的分类逻辑,移植的不够完美,越想越气,忍无可忍,又想到 Leanote 官方从 2018 年就基本上停止更新了,然后就 fork 了源码修改了对应部分的逻辑。 移植后的主题:le

反向传播原理的理解

如图所示,计算图的反向传播从右到左传播信号。反向传播的计算顺序是,先将节点的输入信号乘以节点的局部导数(偏导数),然后再传递给下一个节点。 首先来考虑加法节点的反向传播。这里以 z=x+yz = x + yz=x+y 为对象, 观察它的反向传播。z=x+yz = x + yz=x+y 的导数可由下式(解析性地)计算出来: ∂z∂x=1∂z∂y=1\frac{\partial z}{\partial x} = 1 \\ \frac{\partial z}{\partial y} = 1 ∂x∂z​=1∂y∂z​=1 也就是说,加法节点的反向传播只乘以 1。输入的值会原封不动地流向下一

迁移学习入门

简介 迁移学习(transfer learning)通俗来讲,就是运用已有的知识来学习新的知识,核心是找到已有知识和新知识之间的相似性,用成语来说就是举一反三。由于直接对目标域从头开始学习成本太高,我们故而转向运用已有的相关知识来辅助尽快地学习新知识。比如,已经会下中国象棋,就可以类比着来学习国际象棋;已经会编写Java程序,就可以类比着来学习C#;已经学会英语,就可以类比着来学习法语;等等。世间万事万物皆有共性,如何合理地找寻它们之间的相似性,进而利用这个桥梁来帮助学习新知识,是迁移学习的核心问题。 在迁移学习中,我们已有的知识叫做源域(source domain),要学习的新知识叫目标域

N2N 搭建教程

之前从 Zerotier 切换到 Tinc,但是在 ArchLinux 和创建的 Alpine 镜像中,连接成功一段时间后老是提示 Metadata socket read error for xxxxx: Connection reset by peer,搜了一圈也没有找到解决办法,干脆切换到 N2N 算了。 N2N是一款十分简单且强大的p2p组网软件。它可以实现组网和p2p直连。只需要拥有一台服务端,任何主机都可以接入进来做为客户端,功能更贴近 Zerotier。 安装 supernode 服务端 由于 VPS 的 Debian 软件仓库里的版本非常低,做了一个Dock

Leanote 支持 Mermaid,Chartjs 及修复 Bug

支持 emoji、chart.js 以及 mermaid 参考的大佬地址:https://github.com/jim3ma/leanote 下载 note.html 替换 leanote/app/views/note/note.html 下载 note-dev.html 替换 leanote/app/views/note/note-dev.html 下载 md2html.js 替换 leanote/public/libs/md2html/md2html.js 下载 main-v2.js 替换 leanote/public/md/main-v2.js 下载 default.css 替换

Mathematica 模拟滑块摆运动

写这个主要是为了Mathematica的动画制作,Mathematica官方文档给出的是用Animate及相关的函数,但这并不能满足题目的要求,所以选择创建GIF图片。 题目 滑块摆由一置于光滑杆上的质量为m的滑块A、一质量为M的小球B和长度为L,质量不计的刚性杆铰接而成,不计各处摩擦,以过A点的水平面为零势能面,通过Lagrange方程建立系统的运动方程,利用Maple软件画出: 1. 滑块A的位移x随时间t的变化曲线 2. 角度φ随时间t的变化曲线 3. 滑块摆的运动动画 拉格朗日力学分析 在力学中经常使用 Lagrange 方程来分析。 在滑块摆

MiniDlna 添加对 rmvb 的支持

MiniDLNA(官网)----DLNA服务端,不支持rm、rmvb格式的文件分享,但可以自己修改源文件来支持,所以就选它了。它还自带一个Web网页,可以显示分享资源数与当前客户端名字等等,在浏览器里打开http://本机IP:8200 下载源代码 目前minidlna最新版本1.1.5, 下载地址sourceforge.net 修改源文件 附上已经修改好的源码一份。 metadata.c //line 840 else if( strncmp(ctx->iformatctx->name, "matroska", 8) == 0 ) xasprint

Tinc 搭建教程

简介 最近从 Zerotier 切换到 Tinc,是由于公司网络的 NAT 层数太多,是 Symmetric NAT,Zerotier p2p 打洞几乎不成功,连接国内自建的 Moon 都费劲。切换到 Tinc 后目前体验良好。 附一个NAT类型测试工具:NAT类型测试.zip Tinc 是一个组建虚拟专用网络(VPN)的工具,以 GNU 协议发布,通过隧道及加密技术在互联网上点与点之间创建专有网络。tinc 在网络层工作,因此无需对现有软件进行修改和配置。您可以使用 tinc 搭建专属的低延迟、高带宽、可扩展的 P2P VPN。其数据通讯经过加密和压缩,能避免敏感数据和隐私的泄露。 无

Tensorflow 调用 Matlab 生成的 .mat 文件

matlab 处理好的数据想送进 Tensorflow 的神经网络中,在数据量极大的时候,全部读进内存也不是太理想,综合 tfrecord,自己构建 tfds 数据集等方式,还是生成 tf.data.Dataset 会更便捷一些。 在数据量极大的时候,期望的是 Tensorflow在使用数据的时候才读取相应的数据,则要求Matlab保存数据的时候不能将所有数据保存到一个大的 .mat 文件,而是应该分开保存: path_to_data └───────0.mat 1.mat 2.mat ...Copy 如果保

残差网络(ResNet)

简介 ResNets要解决的是深度神经网络的“退化”问题。 什么是“退化”? 我们知道,对浅层网络逐渐叠加layers,模型在训练集和测试集上的性能会变好,因为模型复杂度更高了,表达能力更强了,可以对潜在的映射关系拟合得更好。而“退化”指的是,给网络叠加更多的层后,性能却快速下降的情况。 如果期望的潜在映射为H(x)H(x)H(x),与其让F(x)F(x)F(x)直接学习潜在的映射,不如去学习残差H(x)−xH(x)−xH(x)−x,即F(x):=H(x)−xF(x):=H(x)−xF(x):=H(x)−x,这样原本的前向路径上就变成了F(x)+xF(x)+xF(x)+x,用F(x)+x