Skip to content

Others

写在前面

包括一些内容不多,不太能单开的板块。

nginx

板块内容

转战阿里云后,自己配了个1.26的nginx,结果配置文件太多看不懂了,想着就顺便复习一下nginx

配置文件的结构:

alt text

配置文件示例

server {
        listen 443 ssl;
        server_name xxx.eddiehza.cn;
        include snippets/https.conf;

        client_max_body_size 20m;

        location / {
                alias /var/www/xxx;
                index index.html;
                try_files $uri $uri/ /index.html;
        }

        location ^~ /workbench {
                alias /var/www/xxx;
                index index.html;
                try_files $uri $uri/ /index.html;
        }

        location ^~ /api {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_pass http://127.0.0.1:23451;
        }
}

server {
        listen 80;
        server_name *.eddiehza.cn;

        location / {
                alias /var/www/welcome/;
                index welcome.html;
                try_files $uri $uri/ /welcome.html;
        }
}

server {
        listen 443 ssl;
        server_name *.eddiehza.cn;
        include snippets/https.conf;

        location / {
                alias /var/www/welcome/;
                index welcome.html;
                try_files $uri $uri/ /welcome.html;
        }
}

cert-bot

板块内容

次次https证书到期就得和certbot做斗争,赶紧记下来大致流程。不想掰扯自动脚本(

申请证书方法

bash
sudo certbot certonly  -d "*.eddiehza.cn" -d eddiehza.cn --manual --preferred-challenges dns-01  --server https://acme-v02.api.letsencrypt.org/directory

证书位置

  会保存到/etc/letsencrypt/live中。

在nginx中的配置(供参考)

ssl_certificate /etc/letsencrypt/live/eddiehza.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/eddiehza.cn/privkey.pem;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;

DCU

INFO

  因为配置的时候用的是DCU,所以就在这里写了DCU。包括后面的docker等步骤一并记录。

DCU 快速上手步骤

  相关连接,但是有以下容器就无需太关注。

  DCU+pytorch容器

  相关启动命令:

bash
docker run -it \
--name=eddiehza \
--network=host \
--ipc=host \
--shm-size=16G \
--device=/dev/kfd \
--device=/dev/mkfd \
--device=/dev/dri \
-v /opt/hyhal:/opt/hyhal \
--group-add video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
image.sourcefind.cn:5000/dcu/admin/base/jupyterlab-pytorch:2.3.0-ubuntu20.04-dtk24.04.3-py3.10 \
/bin/bash

DCU的一些操作

bash
# 类似于nvidia-smi
rocm-smi

# 持续查看
watch -n 1 rocm-smi

# 查看vram占用情况
rocm-smi --showmeminfo vram

# 查看具体的占用vram应用
rocm-smi --showpids

AMD GPU

  AMD GPU在这方面真的支持明显没有nvidia的好,rocm相距cuda还是生态差很多,虽然能看到很多人的努力,但是对于学生来说确实挺麻烦的。

  DTK类比CUDA,是搭配国产加速卡使用的基础环境平台,DTK集成了DCC编译器、经验证和优化的计算库, 支持多种编程语言,同时提供运行、编译、调试和性能分析功能。 DAS是针对国产加速卡推出的一套完整的人工智能基础软件,包含基础算子层、框架工具层、扩展组件层,与国产加速卡基础硬件系统、DTK 开发工具栈、模型空间 Model Zoo 、镜像仓库等形成一套完整的国产加速卡人工智能软硬件生态体系。

RapidOCR

INFO

帮coco解决了个小问题写的小脚本

  挺好用的。去看官网

python
from rapidocr import RapidOCR
from pprint import pprint
import numpy as np
import glob

img_paths = glob.glob("*.png") + glob.glob("*.jpg")
engine = RapidOCR()

for path in img_paths:
    result = engine(path, use_det=True, use_cls=False, use_rec=True)
    centers = np.median(result.boxes, axis=1)
    bottom_right = (centers[:, 0] + centers[:, 1]).argmax()
    print(result.txts)
    if float(result.scores[bottom_right])<0.8:
      print(f"准确率过低,为{result.scores[bottom_right]}")
    else:
      pprint(result.txts[bottom_right], width=120, indent=2)