今天是晴天
不知不觉,竟入了秋,早起时感到了浸骨的凉意,恍惚中,好象看到时光从身边流走,却无力留住。
工具篇:第十一篇 Fish Shell —— 更简单好用的Shell
Fish Shell (Friendly Interactive Shell) 是一款现代的Shell工具,它的设计目标是提供更简单、更易用的命令行环境,它具有自动补全、语法高亮和更友好的用户界面等特性。
Fish Shell (Friendly Interactive Shell)
1.安装最新版本的Fish Shell
123sudo apt-add-repository ppa:fish-shell/release-3sudo apt updatesudo apt install fish
2.配置默认Shell为Fish Shell
12cat /etc/shells # 查看所有Shellchsh -s /usr/bin/fish
3.重新打开终端
Starship 轻量、迅速、可无限定制的高颜值终端!
【安装指引】
如果是使用的Windows Terminal等终端,或者是VS Code等,需要注意安装一个 Nerd Font 的字体,并在终端启用(例如,可以尝试使用 Fira Code Nerd Font 字体)。
安装教程: https://zhuanlan.zhi ...
工具篇:第十篇 Git基础入门
Git基础入门,包括Git的基本概念、常用指令、分支管理、多人协作等内容。
简单的git指令
12345678910git init # 初始化一个新的Git仓库。git add <file> # 将文件添加到暂存区。git commit -m <message> # 将暂存区的内容提交到仓库,并附上提交信息。git reset --hard commit_id # 将当前分支的头指针移动到指定的提交,同时重置工作目录和暂存区到这个提交状态。git log # 显示仓库的提交历史记录。git reflog # 显示所有的引用记录,包含所有的提交、重置和合并操作的历史。git checkout -- file # 从当前分支的最新提交中恢复指定文件,撤销对该文件的未提交更改。git reset HEAD <file> # 将指定文件从暂存区移除,但保留工作目录中的更改。这样可以让文件恢复到未暂存状态。git rm # 删除文件,并将删除操作添加到暂存区。git fetch # 从远程仓库获 ...
Linux 工具(换源、Docker)
这里记录了一些使用Linux当中的常用工具,主要是Debian系
一键换源工具
12sudo su # 切换root用户,注意:不能使用sudo替代root执行bash <(curl -sSL https://linuxmirrors.cn/main.sh)
安装Docker工具
在镜像站倒了以后,安装Docker比较麻烦
12sudo subash <(curl -sSL https://linuxmirrors.cn/docker.sh)
显示系统信息
找大佬帮忙之前先截图neofetch的输出
1sudo apt install neofetch
机器学习:第九篇 Yes, We Kan!
陈巍:KAN网络结构思路来自Kolmogorov-Arnold表示定理。MLP 在节点(“神经元”)上具有固定的激活函数,而 KAN 在边(“权重”)上具有可学习的激活函数。在数据拟合和 PDE 求解中,较小的 KAN 可以比较大的 MLP 获得更好的准确性。相对MLP,KAN也具备更好的可解释性,适合作为数学和物理研究中的辅助模型,帮助发现和寻找更基础的数值规律。
前言
WASM汇编:第一篇 Hello World
在学rust,以及在讨论rust的未来应用领域的时候,有一个词一直在眼前蹦跶(WASM),所以什么是WASM?
前言
Google:WASM(WebAssembly)是一个可移植、体积小、加载快并且兼容 Web 的全新格式。
简单来说就是在浏览器上直接运行字节码,而不是js脚本。一拍大腿,好东西啊,把js替代,然后性能蹭蹭蹭往上涨就完了。仔细一想,好像有哪里不对劲,比如Python一直被诟病性能差,但是任然无法阻挡它的受欢迎程度,也没有任何被rust替代的迹象。同理,现如今在Google的优化下,js的性能应付现在的环境已经绰绰有余了,那么WASM的出现是不是多此一举呢?
事实好像不是这样的,普通场景下js的性能已经足够,但是在一些特殊场景下,比如游戏、图形、音频、视频等,js的性能就显得捉襟见肘了。所以WASM的出现就是为了解决这些问题的。WASM并不是为了替代js而是对js的补充。
而且WASM非常便携,运行在:所有主要的Web浏览器、V8运行时(如 Node.js)和独立的wasm运行时(如Wasmtime、Lucet和Wasmer)。
WASM可以导出函数和常量,并且在js的上 ...
工具篇:第九篇 我的 VSCode 不可能这么可爱!
教程开始
原教程看这里 -> 我的 VSCode 不可能这么可爱!
新建文件
随便找个地方新建一个css文件,如:
C:/Users/Debin/.vscode/vsc.css
然后复制类似下面的内容
12345678910.editor-group-watermark>.letterpress { background-image: url( data:image/png;base64, /* 这里是base64编码的图片 */ ) !important; opacity: 0.95; overflow: visible; filter: none; transform: scale(1.5, 1.5);}
替换为你想要的图片的base64编码,就可以了。
我的css文件 -> vsc.css
设置
打开VSCode,安装插件Custom CSS and JS Loader
文件->首选项->设置->搜索Vscode_custom_css->点击在 ...
RUST:第三篇 Rust机器学习框架Candle初体验
最近看到一个非常有意思的项目Candle,使用Rust做机器学习开发。
前言
AI的成本来自哪里?数据、算法还是资源?现如今,AI的开发还处于上升期,这个时候,最需要的是数据的快速获取,以及算法快速落地,所以Python成为了机器学习的首选语言。但是随着AI应用的不断完善,占成本最高的是算力资源和电力资源,这个时候Python的劣势就暴露出来了,Python的解释性语言导致了性能的不足,以及资源的浪费。所以,一门性能更好,更加适合模型推理服务,更“省电”的语言——Rust将会是后AI时代的首选。
“下一个短缺的将是电力。” —— Elon Musk
Candle简介
Candle is a minimalist ML framework for Rust with a focus on performance (including GPU support) and ease of use.
Candle是一个专注于性能(包括GPU支持)和易用性的Rust的最小化ML框架,由Hugging Face公司开发。Candle 使我们能够使用一个类似 torch 的 API 在 Rust 中构 ...
RUST:第二篇 RUST在嵌入式中的编程(STM32)
究极懒狗,这个本来应该是一年前就要写的。
前言
说实话,并不看好rust在嵌入式领域的未来,嵌入式里面C/C++的地位是不可撼动的,但是rust的确是一个很有意思的语言,所以还是想尝试一下。rust的优势在于安全性,但是在嵌入式领域,安全性并不是最重要的,最重要的是性能和资源占用,所以rust在嵌入式领域的未来并不是很乐观。仅仅为了一点安全性的提升,带来的牺牲是巨大的。搞嵌入式的人真正想要的应该是go。
环境准备
写这篇文章的当前时间节点的最新的版本(版本仅供参考):
软件
VSCode 1.86.1
rustc/cargo 1.76.0
arm-none-eabi-gcc 13.2.1
openocd 0.12.0
硬件
STM32L431RCT6(板子是随便找的)
ST-LINK V2
VSCode插件
rust-analyzer:使用VSCode开发Rust必备
cortex-debug:调试、debug嵌入式程序
crates:提升编辑Cargo.toml的体验,辅助包管理
软件安装
VSCode
略
rustc/cargo
打开rust官网,下载Windows: ...
Linux:配置双网卡Linux路由表,实现两个网络之间的通信
前言
因为自己办的宽带不能连接实验室的服务器,而免费的联通宿舍网只能连三个设备,所以拿出了树莓派来做两个网络之间的沟通。使得使用自己的电脑可以直接连接服务器,而且自己的宽带是公网IP,可以直接在家远程访问。
简单绘制一下网络拓扑
如果没有树莓派连接,那么宿舍网络和服务器网络是完全隔离的。
服务器网络为10.26.58.0/25,
宿舍网络为10.125.0.0/16,中间由上级路由转发。
路由表基础知识
先存一下关于路由表操作的基础命令
查看路由表
123456789debin@raspberrypi:~ $ route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth00.0.0.0 10.125.0.1 0.0.0.0 UG 600 ...