使用 Golang 重写文件

2024-07-23#Go

在 Go 语言中进行 IO 操作(比如读写文件)很简单;与其他编程语言一样,当写入文件时,需要指定打开文件的模式。

使用 ESP8266-NodeMCU 和 Tasmota 搭建简单的温度和湿度监视器

2024-07-21#ESP8266#Tasmota#IoT#DHT11

夏天又到了最闷热的时候,体感相当不舒服,因此想看看室内外的温度、湿度的情况。于是找到箱底的硬件,DIY一个温度湿度监视器。

使用 retry-cli 工具重试命令

2024-07-17#cli#TabbyML

通常,在控制台运行命令,如果失败,那么会直接返回非0的退出码。有时候,可能希望在命令失败退出后,还能继续重试,直到运行成功。而 demoray/retry-cli 工具就是一个小巧的实现。

在本地搭建 AI 代码助手 Tabby

2024-07-16#TabbyML#LLM#Copilot

Tabby 是一个开源的AI代码助手,可用于在本地搭建大模型服务。它提供了Web界面,还提供了IDE/编辑器,比如 VS Code插件。Tabby 是用 Rust 编写的,提供了小巧的可执行文件,部署起来非常简单。不过,虽然 Tabby 是开源的,但也是有授权协议的,提供了不同的订阅选项:免费的 Community 授权,以及付费的 Team 和 Enterprise 授权。

机器学习工程的实例化:部署机器学习的推理代码

2024-06-23#机器学习#MLOps

在机器学习项目中,数据科学家在服务器上的 Jupyter Notebook 完成机器学习的模型的搭建,包括读取数据、清洗数据、特征工程、模型训练,最终创建推理代码和模型。这些代码和模型需要被部署到生产环境运行。数据科学家完成的一系列工作可认为是在自己的“沙盒”或者实验环境里离线完成的,与生产环境有很大的差异,还需要考虑更多非功能的因素;而数据科学家没有经过软件工程的训练,编写的代码很可能不是生产就绪(Production Ready)的。因此,需要对数据科学家编写的代码进行工程化的重组和改造,才可以部署到生产环境。

从本地目录中安装 Python 包

2024-06-20#Python

在开发 Python 应用或者完成机器学习任务时,通常使用 pip install -r requirements.txt 安装第三方包。但是,当代码在生产环境中运行前,才去安装依赖包,会产生一些问题。比如安装时间长的问题:从官方PyPI服务器或者国内镜像安装依赖包时,网速不够快。对于一些大型包,尤其是机器学习使用的包,可能耗费几分钟或者几十分钟的时间。

参考应用开发的模式,可以将打包和运行解耦。在部署之前,将代码及其依赖打包成本地文件,在运行期间从本地文件中安装或者提取依赖。

运行 Jupyter Notebook

2024-06-19#Jupyter#Python

通常数据科学家或者工程师会交互式地使用Jupyter Notebook。其实 Jupyter 还提供了在命令行直接运行 Notebook 的能力。详细说明见其文档《Executing notebooks 》

环比与同比

2024-06-12#数据分析

同比与环比是数据分析中的常见指标。新手在新接触它们时,还是需要澄清一些细节的。

让 Docker 使用代理服务器

2024-06-11#Docker

在越来越多的情况下,难以直接使用 docker 命令行构建和运行容器。那么使用代理服务器是一个可选方法。在使用代理时,需要考虑两个场景:

  • Docker 守护进程的代理
  • Docker 容器中的代理