文件相关

             FileZilla   https://filezilla-project.org/

             FreeFileSync https://freefilesync.org/

             Everything  https://www.voidtools.com/


winssh

             OpenSSH-Win https://github.com/PowerShell/Win32-OpenSSH/releases

             sshFS   

                          sshfs-win-manager  https://github.com/evsar3/sshfs-win-manager

                         winfsp   https://github.com/winfsp/winfsp

                         sshfs-win    https://github.com/winfsp/sshfs-win

图形图像  

             图片工厂  http://www.picosmos.net/

              Inkscape    https://inkscape.org/

              gimp         https://www.gimp.org/


win11 

     任务栏  ExplorerPatcher   https://github.com/valinet/ExplorerPatcher

                 StartAllBack

远程桌面

      AnyDesk

      ToDesk

      RustDesk

      向日葵远程控制

      Splashtop

      Parsec

      VNC

      DameWare

      AirDroid

      TeamViewer


   


       


yolo-v8

conda create -n yolov8 python=3.8
conda activate yolov8
git clone https://n.fastcloud.me/ultralytics/ultralytics.git
cd ultralytics
pip install -r requirement.txt
pip install ultralytics

labelimg

labelimg,是一种矩形标注工具,常用于目标识别和目标检测,可直接生成yolo读取的txt标签格式,但其只能进行矩形框标注。

conda create --name=labelimg python=3.9.7
conda activate labelimg 
pip install  labelimg

labelme

labelme是一种多边形标注工具,可以准确的将轮廓标注出来,常用于分割。它是用 Python 语言编写的,图形界面使用的是 Qt(PyQt)。

conda create --name=labelme python=3.9.7
conda activate labelme
pip install  labelme


pip的源是指pip安装包所依赖的索引地址。 

默认情况下,pip的源是Python官方的仓库https://pypi.org/simple。

如果默认源网络较慢,可以选择更换其他国内镜像源,常用的源有:

中国科学技术大学 https://mirrors.ustc.edu.cn/pypi/web/simple

清华大学 https://pypi.tuna.tsinghua.edu.cn/simple 

华中科技大学 http://pypi.hustunique.com/simple

中国科学院 https://pypi.mirrors.opencas.cn/simple

阿里云 https://mirrors.aliyun.com/pypi/simple

豆瓣  https://pypi.douban.com/simple

更换pip源的方式有两种:


1. 命令行方式

临时使用:

pip install -i numpy https://mirrors.ustc.edu.cn/pypi/web/simple


设为默认:

pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple


2. 配置文件方式:

在用户目录下(Unix与macOS为~/.pip,Windows为%HOME%\pip)创建pip.ini文件,内容如下:

[global]

index-url = https://mirrors.ustc.edu.cn/pypi/web/simple

其中index-url的值替换为您选择的源地址。创建完配置文件后,pip就会默认使用这个源。如果创建了配置文件,命令行参数`-i`指定的源将不再生效。


整理了一下常用的容器


1.移除老容器

sudo apt-get remove docker docker-engine docker.io containerd runc

2.安装容器环境

curl -fsSL https://get.docker.com | bash -s docker —mirror Aliyun
docker info
systemctl enable docker
systemctl enable docker
systemctl enable docker.socket


3.修改容器目录

systemctl stop docker.socket
systemctl stop docker
vi  /usr/lib/systemd/system/docker.service
# 增加容器的数据目录 --data-root=/data/docker
systemctl daemon-reload
systemctl start docker.socket
systemctl start docker
systemctl status docker.socket
systemctl status docker
docker info

4.换源

  1. vi /etc/docker/daemon.json
    {
     "registry-mirrors" : [
       "https://ustc-edu-cn.mirror.aliyuncs.com/",
       "https://mirror.ccs.tencentyun.com",
       "http://registry.docker-cn.com",
       "http://docker.mirrors.ustc.edu.cn",
       "https://mirror.baidubce.com",
       "http://hub-mirror.c.163.com"
     ],
     "insecure-registries" : [
       "registry.docker-cn.com",
       "docker.mirrors.ustc.edu.cn"
     ],
     "debug" : true,
     "experimental" : true
    }

gitlab

docker pull gitlab/gitlab-ce:latest

mkdir -p /opt/gitlab    
mkdir -p /opt/gitlab/config # 映射到 Glitlab 容器中的配置目录
mkdir -p /opt/gitlab/logs # 映射到 Glitlab 容器中的日志目录
mkdir -p /opt/gitlab/data # 映射到 Glitlab 容器中的数据目录 

docker run --detach \
	--hostname=192.168.1.50 \
	--publish 443:443 \
	--publish 9001:80 \
	--publish 8022:22 \
	--name=mygitlab \
	--restart=always \
	--volume /opt/gitlab/config:/etc/gitlab \
	--volume /opt/gitlab/logs:/var/log/gitlab \
	--volume/opt/gitlab/data:/var/opt/gitlab \
	--volume /etc/localtime:/etc/localtime:ro \
	--privileged=true \
	gitlab/gitlab-ce:latest

修改gitlab仓库http下载链接

vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

#修改gitlab.yml如下:
gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 192.168.1.50
    port: 9001
    https: false
    time_zone: "Asia/Shanghai" 
ssh_host: 192.168.1.50
ssh_port: 1022


gitlab-ctl restart


portainer

docker run -d --name=portainer \
	--publish 9091:9000 \
	--restart=always \
	-v /var/run/docker.sock:/var/run/docker.sock \
	-v /opt/portainer/:/data:rw \
	portainer/portainer-ce:latest

mariadb

docker run -d \
    --name db \
    --restart=always \
    -v /opt/db/sqlbak:/sqlbak:rw \
    -v /opt/db/data:/var/lib/mysql:rw \
    -e MYSQL_ROOT_PASSWORD=09UKtHVPTH2NnxKjhiq3JzAFGNVyHHTC \
    mariadb

phpmyadmin

docker run -d \
-e PMA_HOST=db \
--name phpmyadmin \
--restart=always \
phpmyadmin:latest

mm-wiki

docker container run -d \
    --restart=always \
    --name wiki \
    -p 8081:8080 \
    --network coust-net \
     -v /opt/mm-wiki/bin:/mm-wiki \
     -v /opt/mm-wiki/data:/data \
     217heidai/mm-wiki

caddy

docker search caddy


深度学习  nvidia-docker2

# 配置源
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

# 安装nvidia docker
sudo apt-get install nvidia-docker2
sudo systemctl restart docker


# 测试CUDA是否能够运行
# https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/supported-tags.md
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
docker run --rm --gpus all nvidia/cuda:11.0.3-base nvidia-smi
docker run --rm --gpus all nvidia/cuda:12.2.0-base nvidia-smi

labelimg

docker pull ludwigprager/labelimg



#  远程 export DISPLAY=192.168.0.111:0.0
# 本地  export DISPLAY=:0.0
xhost +
 


docker run -ti --rm \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $DIR/images/:/images/ \
ludwigprager/labelimg:1

# --device=/dev/video0:/dev/video0 \






#export DISPLAY=$1:0.0
DIS=$(who -mu | awk '{print $NF}'):0.0
DISPLAY=`echo $DIS | sed 's/[()]//g'`
xhost +
docker run -ti --rm \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /data/cloudeye/comm_img:/images/ \
ludwigprager/labelimg:1

labelme

docker pull wkentaro/labelme

xhost +
docker run -it \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=$DISPLAY \
-v /opt/work_docker/labelme/:/root/workdir \
wkentaro/labelme




#export DISPLAY=$1:0.0
DIS=$(who -mu | awk '{print $NF}'):0.0
DISPLAY=`echo $DIS | sed 's/[()]//g'`
xhost +
docker run -it --rm \
        -v /data/cloudeye/comm_img:/root/workdir \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -e DISPLAY=$DISPLAY \
         wkentaro/labelme


yolov5_gpu

#指定端口映射、指定GPU模式进行启动
sudo docker run -it \
--runtime=nvidia \
-v /opt/work_docker/yolov5:/project \
-p 16022:22 \
-p 16027:6066 \
--ipc=host  \
--name yolov5_gpu \
--gpus all \
ultralytics/yolov5:latest




FROM ubuntu:latest
RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:123456' | chpasswd
RUN sed -ri 's/^PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]


 https://github.com/ultralytics/yolov5

mkdir -p  /usr/src/datasets/coco128/images/train2017/ 
cp -r /work/coco128/* /usr/src/datasets/coco128/images/train2017/ 
cp /work/taoguan_imgs/yolov5n.pt  ./

apt install  openssh-server   

/etc/sshd_config
PermitRootLogin yes

password root


/etc/profile  env

service ssh restart


ssh 到 docker

训练 
 nohup  python train.py --data /work/imgs/coco128_cfg1.yaml   --weights yolov5n.pt >train_task1.txt &

导出
python  export.py --data /work/imgs/coco128_cfg1.yaml --weights best.pt --train --simplify --include onnx

paddleocr

# jupyter notebook
docker run --name ppocr \
  -v $PWD:/mnt \
  -p 8888:8888 \
  --shm-size=32g \
  paddlecloud/paddleocr:2.5-cpu-latest 

#CPU
# 这是加上参数 --shm-size=32g 是为了防止容器里内存不足
docker run --name ppocr\
 -v $PWD:/mnt \
  -p 8888:8888 \
  -it --shm-size=32g \
  paddlecloud/paddleocr:2.5-cpu-efbb0a /bin/bash

#GPU
docker run --name ppocr \
--runtime=nvidia \
-v $PWD:/mnt \
-p 8888:8888 \
-it --shm-size=32g \
paddlecloud/paddleocr:2.5-gpu-cuda10.2-cudnn7-latest /bin/bash

相关文档


ESXI  显卡直通

驱动下载  https://www.nvidia.cn/Download/index.aspx?lang=cn

找到相应平台的驱动下载

上传到 /PATH 目录


安装 

 

esxcli software vib install -v  /PATH/NVIDIA-vGPU-kepler-VMware_ESXi_6.5_Host_Driver_367.134-1OEM.650.0.0.4598673.vib --maintenance-mode


web管理界面   管理   硬件-->PCI设备-->直通活动    选择相应的硬件  激活 直通 

虚拟机配置

内存设置     预留 64G

高级参数配置

hypervisor.cpuid.v0=FALSE      #这个代码是欺骗显卡,让它误以为自己运行在物理机上 
pciPassthru.64bitMMIOSizeGB=64       
#注意:这里的数值计算公式为显卡数量与单卡显存数的乘积向上舍入到下一个2的次幂,
例如我的p40(24G)计算方式为:1*24=24≈32;如果是三张p40(24G)计算方式为3*24=72≈128。
但是我实际测试下来,如果填写32就无法打开机,只有写64才能开机。
pciPassthru.use64bitMMIO=TRUE        #这个是调用内存映射


克隆vm  只考虑了一个虚拟硬盘的情况  ./clone  vm1name  newvmname

#!/bin/bash

echo $1 $2
if [ ! -d "$PWD/$1" ]; then
    echo "src vm not exist $PWD/$1"
    exit 0
fi

if [ -d "$PWD/$2" ]; then
    echo "des vm  is exist $PWD/$2"
    exit 0
fi

mkdir "$PWD/$2"
vmkfstools -i $PWD/$1/$1.vmdk -d thin $PWD/$2/$2.vmdk
cp $PWD/$1/$1.nvram  $PWD/$2/$2.nvram
cp $PWD/$1/$1.vmsd  $PWD/$2/$2.vmsd
cp $PWD/$1/$1.vmx  $PWD/$2/$2.vmx
echo 's|$1|$2|g'  "$PWD/$2/$2.vmx"
sed -i "s|$1|$2|g"  "$PWD/$2/$2.vmx"
vim-cmd solo/registervm   "$PWD/$2/$2.vmx"
exit 0





由于本人习惯用命令干活. 喜欢shell.在win下非常非常的不习惯他的 cmd和powershell   所以安装了 cygwin.   

cygwin的下载地址: http://www.cygwin.com/ 


然后在 vscode 下默认的 只有win的  cmd 或者 powershell  要是想在里面也可以用 cygwin 那么就要做点小小配置


具体配置文件如下

  "terminal.external.windowsExec": "E:\\cygwin64\\bin\\mintty.exe",

    "terminal.integrated.shell.windows": "E:\\cygwin64\\bin\\bash.exe"

    "terminal.integrated.shellArgs.windows": [

        "--login",

        "-i"

    ],



注意  E:\\cygwin64\\bin\\  把这个路径替换成你安装的路径就可以了


效果如下: