Git LFS 介绍
Git LFS(Large File Storage),表示 Git 大文件存储。一直以来 git 只能提交存储小文件大远程仓库,当遇到大文件时 push 会遇到卡死等问题。因此,出现了 Git LFS,解决 git 仓库的大文件的版本管理。随着深度学习模型越来越大,特别是大模型、多模态大模型的出现,预训练得到的权重文件多达几十G不等,这些大文件的管理使用 LFS 再合适不过了。如 Hugging Face 上的模型仓库大文件都是用 LFS 管理。本篇介绍如何使用 Git LFS.
Git LFS 是一个命令行扩展和规范,用于使用 Git 管理大文件。 该客户端是用 Go 编写的,预编译的二进制文件可用于 Mac、Windows、Linux 和 FreeBSD。
安装官网安装地址:https://github.com/git-lfs/git-lfs/tree/main#installing
Note: Git LFS requires at least Git 1.8.2 on Linux or 1.8.5 on macOS.
123456789101112# Debian/Ubu ...
使用 gradio 快速部署 python 项目
使用 Python 开发的深度学习模型想要提供给客户使用,往往需要先把代码打包成 docker 镜像,然后前后端代码,最后才能展示给客户。这一过程繁琐且给开发人员带来巨大的工作量。本篇介绍一种快速展示、部署和调试 Python 开发的深度学习模型的方法,那就是 gradio(一种 Python 包)。借助 Gradio,您可以围绕机器学习模型或数据科学工作流程快速创建漂亮的用户界面,并让人们通过拖放自己的图像、粘贴文本、录制自己的声音以及与其他人进行交互来“尝试一下”您的演示,全部通过浏览器进行。
安装1pip install gradio
使用假设我要使用 SAM 来进行图像分割,那么我首先需要根据 github官网 配置环境。然后,安装 gradio。
当所有环境都配置好后,我们编写简单的几行代码就能够把命令行或者 notebook 上的 SAM 代码在网页端展示。首先,创建一个目录,并把一些图像存放在其下的 images 文件夹下:
1234567mkdir /disk0/documents/codes/gradio_webmkdir -p /disk0/docume ...
利用 Python 把 vsdx 文件转为图像
vsdx 是微软提供的 visio 画图软件生成的文件扩展格式,本篇介绍在没有安装 visio 软件的情况下利用 Python 把别人发来的 vsdx 文件转化为图像。
安装依赖包假设 Python 已经安装配置好,那么还需要安装微软提供的 visio api: aspose-diagram,该包依赖 jpype1:
1pip install aspose-diagram jpype1
微软提供了各种 APIs 来转换 vsdx,我这里演示使用 Python via Java,因此需要在机器上安装 java jdk :
123wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gztar -xzvf jdk-17_linux-x64_bin.tar.gzsudo mv jdk-17.0.8 /usr/local/java
使用123456789101112# 转成 jpegimport osos.environ["JAVA_HOME"] = "/usr/l ...
docker 安装代码托管平台 gitlab
代码托管网站有 github、gitee 等,但是 github 访问不是很通畅,gitee 总是审查严格。有些代码团队开发共享而暂时不方便公开时,使用自己搭建的代码托管平台会更合适些。本篇介绍如何利用 dokcer 搭建私人代码托管平台 gitlab。
安装假设 docker 和 docker-compose 已经按照完成。如果没有安装,可以参考我的另一篇博客:docker 简单介绍.
下面跟着命令进行安装:
12345678910111213141516171819202122232425262728293031323334# 创建工作目录cd /disk0/proj-pfmkdir gitlab# hostname 改为自己的; external_url 改为自己的,8901 与 ports 里的端口映射对应上,不然后面通过 http 克隆代码库时会找不到链接。# ssh 端口根据自己修改更改# 把数据、配置文件和日志等保存到宿主机,方便后面更新镜像库cat > /disk0/proj-pf/docker-compose.yml <<-"EOF& ...
子网掩码简单介绍
办公室有个人把自己服务器的子网掩码设置为 255.255.255.254,导致他这台电脑只能联网,但是,别的电脑连接不上该服务器(如SSH),甚至 ping 不通该服务器。本篇简单介绍下子网掩码的作用。
简介在 ipv4 中,子网掩码依附于 ip 地址,用于子网划分。把 ip 地址划分为网络地址和主机地址两部分。
子网掩码是一个 32 位地址,用于屏蔽 ip 地址的一部分以区别网络表示和主机标识,并说明该 ip 地址是在局域网上,还是在远程网上。
常用子网掩码常用的子网掩码是 255.255.255.0,转化为二进制就是 11111111.11111111.11111111.00000000,有 24 个连续的 1 和 8 个连续的 0 组成。连续的 1 表示网络地址,连续的 0 表示主机地址。8 个 0 表示该子网掩码划分的子网容量为 256 个,即 $2^8$,说明 ip 地址 192.168.1.0-192.168.1.255 在同一个子网中。其中第一个 ip 地址 192.168.1.0 为网段地址,最后一个地址 192.168.1.255 为广播地址,都不可以使用。因此能够使 ...
Windows 上免费安装 MicroSoft 提供的正版 Office
4e91858472dc45295cd172d75b7e9bd417e177a0676ec0aef9b4aa7ad4b95d38ddc6766cdb625276db9c30ede249295b90188eb73a20923852c89b38d306cdb54b40e4cee68549e929f2cd7424d4913d6a86a92f201f8d9fc7eb71f859441625d2f595c6851a395ff023a872928c01953526580ebfe73dd374f84454db8c04fd3ccbffe618c60547b8e998de972110618f0c340a0a3696757c628bceef2dffe98a7b4482e8e309d2d0bef152d15bafe1731674d90f81cb4cac7ca3644fe21ba6b8e29287f944d845df0282500c4427bd9ae942e8efa94766ba87ed1d7a7808d5f6c518103686811c085712ea2769602f1fd9654508aec171a ...
Mac 上安装 microsoft office
d7420555dbd47e034be0c72be203a7e39beaaf363f893904aa7a0d6f3a6dd17628bfb815a4eb1824e5399d6cddd8f22b67d542a6ede26adea789c3067e5a514cd5fc095e398a6b18e193a124e3ed411afcaedd57cae6f403e1f85013d36a7e620e6f34338b4c3c76208e6afdeb024d047e348e4ac7e627a2a56021357fe822ac5176259432fe899975140e2abb20bf82fffc6c4022c5016eff66e8553952c00b97ddf933f24fb937e0d94d74ff475b758fae6718b971fd5a42451487f818b42d9b7d71d365fa855f6a88a4b205bc985afa104d75c740f6d3714b243f8e5a88f629a0609ad7ca26d93aee4deeee82b144eb131777dcbc796be ...
用于文生图的 AI 模型 Stable Diffusion 的部署
d7420555dbd47e034be0c72be203a7e31a7f7760e7dd70a428f4eaeaa12f67f7227243bf7c8255e86da03c70ba55a39ac77d3df2cee4832c794f5b350d649b4817e32ff251eaebcec81520923aaa06281768e7115bb7691f611ac5040e7a902529707e94ddd377103112a4eebf27d186cbb90d6411c3e2e6429769145522e8fb728318d6657eff19af7d18b8613fe547009866795b6a12d34fdb533e66d99083528a38acf043d9baa754a3f4f4b652889bb95e6b52c03c7a7f30be87855eecd6dde3055f56acae67c5aa94d463c6883b39fc0fdfe5a3a8a90bb44cf87c87a333f61cf8886e55da096960b5585c936b8505b3ed6d9b7309f37 ...
python 虚拟环境 venv 介绍
在 Python 开发中,为不同的工程项目创建不同的开发环境是常见现象,这是因为不同项目可能需要不同的包版本依赖。除了非常好用的 conda 创建 Python 虚拟环境外,Python 自带有创建虚拟环境的方法,这种虚拟环境轻量,在一些项目中会用到,如 stable diffusion webui 等。本篇进行介绍。
venv 虚拟环境创建假设服务器上 Pyhton 已经安装完成,且配置好环境变量。
12345678# 先创建一个空目录,用来存放新的虚拟环境文件mkdir -p /home/jinzhongxu/newenv# 进入环境目录,创建虚拟环境cd /home/jinzhongxu/newenvpython -m venv .# 或者指定目录直接创建虚拟环境,而不需要进入目录python -m venv /home/jinzhongxu/newenv
其实,创建的虚拟环境,就是把 Python 的一些可执行文件,如 pip, python 移动或创建软连接到该目录。
1234567891011121314151617181920$ ls /home/jinzhongx ...
Python 多进程 multiprocessing 在 Linux、Mac 和 Windows 上的区别
Python 中多进程模型 multiprocessing 在不同操作系统 api 不同,导致运行差异。本篇对其进行介绍。
介绍导致差异的根本原因是多进程启动的方式
在 Linux 操作系统中,默认创建子进程的方式是 fork,而在 Mac/Windows 系统中,默认创建子进程的方式是 spawn。查看启动方式可以使用如下 Python 代码:
1234import multiprocessingif __name__ == "__main__": print(multiprocessing.get_start_method())
在 Windows 上只能使用 spawn,但是,在 Linux 和 Mac(给予 Unix)上却可以设置采用哪种启动方式,方法如下:
12345import multiprocessingif __name__ == "__main__": multiprocessing.set_start_method("fork") # "fork" or ...
Mac ssh 连接 Linux 终端中文显示乱码解决方法
Mac 通过 ssh 远程连接 linux 终端,文件或文件夹中文名显示为乱码,而 Mac 本地中文显示正常,Linux 本地显示中文也正常。本篇解决该问题。
方法首先查看 Linux 终端配置
1locale
显示为如下:
123456789101112131415LANG=en_US.UTF-8LANGUAGE=LC_CTYPE="en_US.UTF-8"LC_NUMERIC=zh_CN.UTF-8LC_TIME=zh_CN.UTF-8LC_COLLATE="en_US.UTF-8"LC_MONETARY=zh_CN.UTF-8LC_MESSAGES="en_US.UTF-8"LC_PAPER=zh_CN.UTF-8LC_NAME=zh_CN.UTF-8LC_ADDRESS=zh_CN.UTF-8LC_TELEPHONE=zh_CN.UTF-8LC_MEASUREMENT=zh_CN.UTF-8LC_IDENTIFICATION=zh_CN.UTF-8LC_ALL=
然后再查看 Mac 终端配置
1locale
显示结 ...