Note-platform

直接finetune存在问题,

数据集构建,

3docker

1
2
3
4
&& export USE_MODELSCOPE_HUB=1

export CUDA_VISIBLE_DEVICES=1 && llamafactory-cli webui
http://10.8.21.6:7899/

docker系统中换源

1
2
3
4
/etc/apt/sources.list
http://archive.ubuntu.com/ubuntu/
https://mirrors.aliyun.com/ubuntu
pip install oss2 addict

服务器

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cpcp -r			#复制文件
mv 旧文件名 新文件名 #重命名文件
df -h #查看空间使用情况
du -sh /path/to/folder #查看文件夹大小
tar -xzvf filename.tar.gz #解压
grep
pip install llamafactory[metrics]==0.7.1 -i https://pypi.mirrors.ustc.edu.cn/simple/ --trusted-host=pypi.mirrors.ustc.edu.cn

# screen
screen -ls 列出当前所有的session
screen -S session 创建一个名为 session的会话
Ctrl+a d 退出当前 screen
screen -r session 进入窗口 session的会话
exit 退出并关闭会话,并删除session
screen -S 12345 -X quit

服务器性能

1
2
nvidia-smi --list-gpus	#查看GPU
watch -n 1 nvidia-smi #实时显示,每1s切换

出现“连接服务器 未能下载vscode服务器 server returned 404”问题

https://zhuanlan.zhihu.com/p/671718415?utm_id=0&wd=&eqid=87e5498b004a9ff700000002658426b6

pip暂时换源

1
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xxx

SSH端口转发

场景:

服务器(只有ip和user,使用ssh连接)上的docker中,运行tensorboard。

希望能在本地访问该tensorboard网站

操作:

服务器端:

  • 保证docker端口映射穿透(docker的端口被映射到宿主机的端口上)
  • 运行docker中的tensorboard(注意一定要以–bind_all打开,否则即使是在服务器本地也无法访问tensorboard)
1
tensorboard --logdir ./ckpt/DangkaTemple/DangkaTemple_date/lightning_logs/version_5 --port 6007 --bind_all

本地:

使用shell搭建SSH穿透,如下:

1
2
3
4
5
# 格式
ssh -L local_port:remote_host:remote_port username@ssh_server

# 我的
ssh -L 6007:127.0.0.1:6007 root@192.168.242.193 -p 22

本地打开

1
http://127.0.0.1:6007

错误解决

【报错】tensorboard

使用tensorboard时,不显示图像,报错TypeError: MessageToJson() got an unexpected keyword argument ‘including_default_value_fields’

版本太高了,降版本

1
2
pip uninstall tensorboard
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorboard==2.12.0

▲14.04安装共享文件夹

# 1.安装VM VirtualBox

# 2.安装Ubuntu

# 3.关于共享文件夹的处理:

在VM上设置后需要在虚拟机内上方【设备】-》【安装增强功能】

若此时显示【未能加载虚拟光驱 VBoxsGuestAdditions.iso到虚拟电脑】,进入系统在侧边找到如图加载的虚拟光驱,右击,点击弹出,然后就可正常安装增强功能了。

然后若无法找到共享文件夹,则打开命令行,输入sudo usermod -a -G vboxsf xxx(xxx是你当前注册Ubuntu的用户名)并重启虚拟机。

(将用户添加到多个组)

然后就可以使用共享文件夹了。

Docker

https://www.bilibili.com/video/BV1bA411g7op

https://zhuanlan.zhihu.com/p/351541570

查询所有容器

1
docker pa -a

创建容器

1
2
3
4
5
6
交互式容器
docker run -it --name=容器名称 镜像名称 /bin/bash
exit
守护式容器
docker run -di --name=容器名称 镜像名称
docker exec -it

安装出现问题

在云端配置mmdetection中,遇到WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: 12. Virtual Environments and Packages — Python 3.12.0 documentation报错

要解决”Pip以’root’用户身份运行可能导致权限问题和与系统软件包管理器冲突的警告”,建议您使用虚拟环境。虚拟环境是一种隔离的Python环境,允许您在其中安装和管理软件包,而不会影响系统的其他部分。

1
2
3
4
5
python3 -m venv --help
python3 -m venv mbyvenv
source mbyvenv/bin/activate
pip install package_name
deactivate

docker启动停止

不要在服务器上执行

1
2
3
4
sy
systemctl start docker
systemctl stop docker
systemctl restart docker

docker

1
2
3
4
5
6
docker images
docker ps
docker ps -a
docker start id/name
docker stop/kill id/name
docker exec -it <container_id_or_name> /bin/bash

常用的创建参数

注意:所有options要放在靠前面

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

1
2
docker run -it <镜像名>:<镜像tag> /bin/bash
docker run -it --name <自定义容器名> --gpus all -v <服务器文件夹路径>:<容器内部自定义路径> -p <服务器端口>:<容器端口> <镜像名>:<镜像tag> /bin/bash
  • -iti 表示交互模式(interact),t 表示终端模式(terminal),表示创建的容器可以进行命令行交互。

  • --name <自定义容器名>:为创建的容器指定名称。建议命名中有 项目名姓名环境名三项。姓名是为了区分不同人创建的容器,环境名是因为一个项目可能需要多个不同环境协同工作。

  • --gpus all:指定容器可以访问所有 GPU。如果不指定该参数,容器内部将无法使用 GPU 资源。

  • -v <服务器文件夹路径>:<容器内部自定义路径>:将服务器上的某个文件夹映射到容器内部。这样做有以下好处:

    1. 可以避免在服务器和容器之间传输大型文件,服务器和容器对该文件夹的操作会同步。
    2. 解耦数据与环境。借助 Docker 镜像的支持,一组数据可以在多种环境下开发,同时避免因环境混乱而需要重新部署数据到另一个容器中。
  • -p <服务器端口>:<容器端口>:将容器内部的端口映射到服务器的端口上。当需要通过网络从外部访问容器时(例如 Web 后端),需要指定该参数。

  • <镜像名>:<镜像tag>:指定容器基于哪个镜像。可以从 https://hub.docker.com 上查询并下载镜像。

  • /bin/bash:启动容器时执行的命令。这里启动了 Bash 终端。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
docker run -it --name mby_qwen --gpus all -v /home/mby/test:/test/ gpuci/miniconda-cuda:11.3-devel-ubuntu20.04 /bin/bash

docker run -it --name mby_qwen2 --gpus all -v /home/mby/test:/test/ qwenllm/qwen:latest /bin/bash

docker run -it --name mby_qwen --gpus all -v /home/mby/qwen_14b_chat:/qwen/ qwenllm/qwen:latest /bin/bash

// gpt>data
docker run -it \
--name mby1_gpt4_data \
--gpus all \
-v /home/mby/datatry:/home/datatry \
-v /home/datas/SkyPile-150B:/home/SkyPile-150B:ro \
gpuci/miniconda-cuda:11.3-devel-ubuntu20.04 \
/bin/bash

// mby(已关闭)
docker run -it \
--name mby \
--gpus all \
-p 6007:6007 \
-p 9009:9009 \
-v /home/mby/datatry:/home/datatry \
-v /home/datas/SkyPile-150B:/home/SkyPile-150B:ro \
gpuci/miniconda-cuda:11.3-devel-ubuntu20.04 \
/bin/bash

// mby2
docker run -it \
--name mby2 \
--gpus all \
-p 6007:6007 \
-p 9009:9009 \
-v /home/mby/datatry:/home/datatry \
-v /home/ZhongYuLM:/home/ZhongYuLM \
-v /home/datas/SkyPile-150B:/home/SkyPile-150B:ro \
gpuci/miniconda-cuda:11.3-devel-ubuntu20.04 \
/bin/bash

// 做深度学习大作业使用(已关闭)
docker run -it \
--name mby_clip2 \
--gpus all \
-p 6008:6008 \
-p 9010:9010 \
--shm-size=8g \
-v /home/mby/datatry:/home/datatry \
-v /home/datas/SkyPile-150B:/home/SkyPile-150B:ro \
mby_clip:latest \
/bin/bash


docker commit -a 'mby' -m 'temp' eb83d4d43913 mby_clip

(base) root@localhost:/home# docker commit -a 'mby' -m 'temp' eb83d4d43913 mby_clip
sha256:32380fb3979650035bce0f5b7fb49e3c02a6040c146b17d3eeb83b6dcc8ce7c9

df -h | grep shm

// 微调模型
docker run -it \
--name mby_qwen2 \
--gpus all \
-v /home/mby/test:/test/ \
qwenllm/qwen:latest /bin/bash

参数详解

https://blog.csdn.net/wangshuai6707/article/details/132299930

docker run -it –name mby_crop –gpus all -v /home/mby/test:/test/ gpuci/miniconda-cuda:11.3-devel-ubuntu20.04 /bin/bash

HuggingFace

1
2
3
4
5
6
7
8
9
set HF_MIRROR_URL=https://huggingface.co.cn && bash /workspace/LLaMA-Factory-main/utils/test_ppo_model/gsm8k.sh


wget https://huggingface.co.cn

huggingface-cli download bigcode/humanevalpack --repo-type dataset
huggingface-cli scan-cache


Git

1

小众问题:git提交记录太多了,想清空提交记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(1) 创建新分支
git checkout --orphan newBranch
(2) 添加所有文件
git add -A
(3) 提交跟踪过的文件
git commit -am “init commit”
(4) 删除master分支
git branch -D master
(5) 重命名当前分支为master
git branch -m master
(6) 重新指定远端
git remote set-url origin http://xxx
(7)
git push -f origin master

可选
(8) github的setting中切换default为main,删除main
github会提示,接着进行下面的操作:
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a

VirtualBox

★在VirtualBox上安装ubuntu系统(20.04)

▲安装环境

想要安装开发工具软件包,以拥有 sudo 权限用户身份或者 root 身份运行下面的命令:

sudo apt update

sudo apt install build-essential

▲共享文件夹

设置共享文件夹路径(Windows系统的路径,如E:/DataSets)和名称(挂载到Ubuntu系统中时候用的名称,如Win_DataSets);勾选“固定分配”,其他不选。

sudo apt-get install virtualbox-guest-dkms(再次安装增强功能)

sudo adduser 用户名 vboxsf

sudo mkdir ~/share

sudo mount -t vboxsf VMshare ~/share

以上可以保证使用共享文件夹,但坏处在于每次开机都要执行一次这个指令。

再加上开机自动执行该指令

(暂未成功)

1.创建rc-local.service文件

sudo cp /lib/systemd/system/rc-local.service /etc/systemd/system

然后修改/etc/systemd/system/rc-local.service,在文件最下方添加如下两行:

[Install]

WantedBy=multi-user.target

Alias=rc-local.service

2.创建rc.local文件

创建/etc/rc.local,里边写自己想要运行的命令。例:

#!/bin/sh

echo “This is test” > /tmp/my.log

exit 0

给/etc/rc.local加上可执行权限

sudo chmod +x /etc/rc.local

3.测试

重启虚拟机

启动后可以发现:/tmp下已经有了my.log文件,里边内容为:”This is test”。

systemctl命令

启动服务

sudo systemctl start rc-local.service

查看服务状态

sudo systemctl status rc-local.service

▲换源

sudo mousepad /etc/apt/sources.list

之后一定要sudo apt update

清华大学镜像地址:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

▲添加右键打开终端

  1. sudo apt-get install nautilus-open-terminal
  2. nautilus -q
  3. nautilus &

▲14.04可以使用的源

deb http://old-releases.ubuntu.com/ubuntu precise main universe restricted multiverse

deb http://old-releases.ubuntu.com/ubuntu precise-security universe main multiverse restricted

deb http://old-releases.ubuntu.com/ubuntu precise-updates universe main multiverse restricted

deb http://old-releases.ubuntu.com/ubuntu precise-proposed universe main multiverse restricted

▲14.04配置网络

进入etc/NetworkManager,找到 Networkmanager.conf文件

修改使managed=true

cd.. 再cd network

主要是修改static变成dhcp

但顺便配置一下地址

1
2
3
4
5
6
7
8
9
10
11
auto lo
iface lo inet loopback

# The primary network interface
auto eth0 #表示让网卡开机自动挂载eth0
iface eth0 inet dhcp
address 192.168.56.1
gateway 192.168.2.254
netmask 255.255.255.0
#network 192.168.2.0
#broadcast 192.168.2.255

即可联网

▲E: 您在 /var/cache/apt/archives/ 上没有足够的可用空间的解决方法。

要解决此问题,您可以按照以下步骤操作:

1
sudo apt-get autoclean

这将删除当前未安装的所有软件包。如果那不能释放足够的空间,请使用sudo apt-get clean。这将清除所有.debs下载和/或安装的内容。

▲切换默认终端:

1
sudo update-alternatives --config x-terminal-emulator

Python

简明教程

https://mp.weixin.qq.com/s/4rRoWG8PaBNdXwo8rTAklQ

1 anaconda使用

▲1.1 navigator弹出.cli文件

navigator一直弹出vscode显示的.cli界面,解决方法是用管理员权限打开,就不会出现这个问题了

▲1.2 创建与进出虚拟环境(navigator/prompt)

通过命令行创建虚拟环境(直接用navigator可视化创建也可以)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
conda create -n 虚拟环境名字 python=python版本 #创建虚拟环境
conda activate 虚拟环境名字 #进入虚拟环境
conda deactivate #退出虚拟环境
conda remove -n 虚拟环境名字 --all #删除虚拟环境


#查看帮助
conda env --help
#查看已安环境
conda env list #列出所有的虚拟环境
conda list --name [虚拟环境名] #查看指定虚拟环境下的package
conda list --name base # 查看默认主环境的package
#创建
conda create --name [虚拟环境名] [python的版本] [需要的包]
eg:
conda create --name myenv
conda create --name myenv python=2.7
conda create --name myenv pytohon=2.7 numpy scipy
#克隆
conda create --name [虚拟环境名] --clone [colne的环境]
eg:
conda create --name B --clone A #创建一个和A环境一样的虚拟环境B
conda create --name test3 --clone test2 # 克隆test2环境并命名为test3
conda create --name pdf2doi --clone base #克隆主环境base并命名为pdf2doi
#删除
conda remove --name [虚拟环境名] -all
# 激活/取消(默认的环境是base)
conda activate [虚拟环境名]
conda deactivate [虚拟环境名]

▲1.3 以pytorch为例安装包

navigator的安装会出问题(说是版本不对)

可以用prompt的powershell(管理员模式)安装

从官网https://pytorch.org/获取命令行

1
conda install pytorch torchvision torchaudio cpuonly -c pytorch

进入python3-11环境(conda activate),安装即可,正常会出现三个done,最后done结束安装。

▲1.4 安装pytorch-cuda

torch.cuda.is_available()若返回true则显卡可被使用

▲1.5安装第三方包的时候出错找不到

使用以下语句

原理:将conda-forge添加到系统默认的channel列表中,简单来说就是增加搜索路径,这样你在执行安装命令的时候就不仅仅在原来的channel目录中搜索,也会在新增的conda-forge channel中查找。

1
conda config --append channels conda-forge

▲1.6 添加源

1
2
3
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --set show_channel_urls yes

▲1.7 pycharm使用anaconda环境

设置-python解释器-添加一个配置好的anaconda环境

注意:由于版本问题,不要使用conda环境那个选项,选用第三项“系统解释器”,然后找到环境的exe

对于环境名称python3-11,有

1
E:\\anaconda\envs\python3-11\python.exe

https://blog.csdn.net/qq_45659165/article/details/125851282?ydreferer=aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NDgwMTc3P3R5cGU9bGF0ZWx5

导出当前环境依赖包信息

pip freeze > ./requirements.txt

★安装软件包

在terminal终端,而不是python控制台

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple +自己需要的包

2 python自动化:pyautogui

▲2.1GUI 控制功能

控制鼠标键盘使用的模块为:pyautogui,这个模块操作起鼠标键盘的时候,非常的迅速,而且如果该模块控制了鼠标后,程序比较难关闭,这时我们有两个方法专门针对以上的情况:

2.1.1 自动 防故障功能

1
pyautogui.FAILSAFE =False 

默认这项功能为True, 这项功能意味着:当鼠标的指针在屏幕的左上角,程序会报错;目的是为了防止程序无法停止;

2.1.2 停顿功能

1
pyautogui.PAUSE = 1 

意味着所有pyautogui的指令都要暂停一秒;其他指令不会停顿;这样做,可以防止键盘鼠标操作太快;

▲2.2鼠标操作

(1)控制鼠标移动

获得屏幕分辨率

1
2
3
print(pyautogui.size())   # 返回所用显示器的分辨率; 输出:Size(width=1920, height=1080)
width,height = pyautogui.size()
print(width,height) # 1920 1080

移动鼠标

移动到指定位置

1
pyautogui.moveTo(100,300,duration=1)

将鼠标移动到指定的坐标;duration 的作用是设置移动时间,所有的gui函数都有这个参数,而且都是可选参数;

按方向移动

1
pyautogui.moveRel(100,500,duration=4)   # 第一个参数是左右移动像素值,第二个是上下,

向右移动100px,向下移动500px, 这个过程持续 1 秒钟;

获取鼠标位置

1
print(pyautogui.position())   # 得到当前鼠标位置

输出:Point(x=200, y=800)

(2)控制鼠标点击

单击鼠标

1
2
3
4
pyautogui.click(10,10)   # 鼠标点击指定位置,默认左键
pyautogui.click(10,10,button='left') # 单击左键
pyautogui.click(1000,300,button='right') # 单击右键
pyautogui.click(1000,300,button='middle') # 单击中间

双击鼠标

1
2
3
pyautogui.doubleClick(10,10)  # 指定位置,双击左键
pyautogui.rightClick(10,10) # 指定位置,双击右键
pyautogui.middleClick(10,10) # 指定位置,双击中键

点击 & 释放

1
2
pyautogui.mouseDown()   # 鼠标按下
pyautogui.mouseUp() # 鼠标释放

(3)控制鼠标拖动

拖动到指定位置

1
pyautogui.dragTo(100,300,duration=1) 

将鼠标拖动到指定的坐标;duration 的作用是设置移动时间,所有的gui函数都有这个参数,而且都是可选参数;

按方向拖动

1
pyautogui.dragRel(100,500,duration=4)   # 第一个参数是左右移动像素值,第二个是上下,

向右拖动100px,向下拖动500px, 这个过程持续 1 秒钟;

(4)控制鼠标滚动

控制鼠标滚动的函数是scroll(), 传入一个整数的参数,说明向上或向下滚动多少个单位;单位根据操作系统不同而不同;

1
pyautogui.scroll(300)  # 向上滚动300个单位;

▲2.3屏幕处理

(1)获取屏幕截图

我们控制鼠标的操作,不能盲目的进行,所以我们需要监控屏幕上的内容,从而决定要不要进行对应的操作, pyautogui 提供了一个方法screenshot(),可以返回一个Pillow的image对象;

这里有三个常用函数:

1
2
3
im = pyautogui.screenshot():返回屏幕的截图,是一个Pillow的image对象
im.getpixel((500, 500)):返回im对象上,(500,500)这一点像素的颜色,是一个RGB元组
pyautogui.pixelMatchesColor(500,500,(12,120,400)) :是一个对比函数,对比的是屏幕上(500,500)这一点像素的颜色,与所给的元素是否相同;

保存屏幕截图

1
2
im = pyautogui.screenshot()
im.save('屏幕截图.png')

(2) 识别图像

首先,我们需要先获得一个屏幕快照,例如我们想要点赞,我们就先把大拇指的图片保存下来;然后使用函数:locateOnScreen(‘zan.png’) ,如果可以找到图片,则返回图片的位置,如:Box(left=25, top=703, width=22, height=22);如果找不到图片,则返回None;
如果,屏幕上有多处图片可以匹配,则需要使用locateAllOnScreen(‘zan.png’) ,如果匹配到多个值,则返回一个list,参考如下:

1
2
3
4
5
6
7
8
9
10
11
import pyautogui
pyautogui.PAUSE = 1
#图像识别一个
btm = pyautogui.locateOnScreen('zan.png')
print(btm) # Box(left=1280, top=344, width=22, height=22)

#图像识别多个
btm = pyautogui.locateAllOnScreen('zan.png')
print(list(btm)) # [Box(left=1280, top=344, width=22, height=22), Box(left=25, top=594, width=22, height=22)]

pyautogui.center((left, top, width, height)) 返回指定位置的中心点;这样,我们就可以再配合鼠标操作点击找到图片的中心

▲2.4键盘输入

(1)键盘输入函数

pyautogui.keyDown() : 模拟按键按下;
pyautogui.keyUp() : 模拟按键释放;
pyautogui.press() : # 就是调用keyDown() & keyUp(),模拟一次按键;
pyautogui.typewrite(‘this’,0.5) : 第一参数是输入内容,第二个参数是每个字符间的间隔时间;
pyautogui.typewrite([‘T’,’h’,’i’,’s’]):typewrite 还可以传入单字母的列表;

举例:

1
2
3
pyautogui.keyDown('shift')    # 按下shift
pyautogui.press('4') # 按下 4
pyautogui.keyUp('shift') # 释放 shift

输出: $ ;

1
pyautogui.typewrite('$$$$', 0.5)

缓慢的输出:

(2)键盘特殊按键

有时我们需要输入一些特殊的按键,比如向左的箭头,这些有相对应的键盘字符串表示,例如:

pyautogui.typewrite([‘T’,’i’,’s’,’left’,’left’,’h’,]) # 输出:This
1
解释:这里的left就是向左的箭头;诸如此类的键盘字符串,还有很多,参考下表:

键盘字符串 说明
enter(或return 或 \n) 回车
esc ESC键
shiftleft, shiftright 左右SHIFT键
altleft, altright 左右ALT键
ctrlleft, ctrlright 左右CTRL键
tab (\t) TAB键
backspace, delete BACKSPACE 、DELETE键
pageup, pagedown PAGE UP 和 PAGE DOWN键
home, end HOME 和 END键
up, down, left,right 箭头键
f1, f2, f3…. f12 F1…….F12键
volumemute, volumedown,volumeup 声音变大变小静音(有些键盘没有)
pause PAUSE键,暂停键
capslock CAPS LOCK 键
numlock NUM LOCK 键
scrolllock SCROLLLOCK 键
insert INSERT键
printscreen PRINT SCREEN键
winleft, winright Win键(windows )
command command键(Mac OS X )
option option(Mac OS X)

(3)快捷键

如果我们需要模拟复制的快捷键 ctrl + c ,如果用前面的方法,则代码为:

pyautogui.keyDown(‘ctrl’)
pyautogui.keyDown(‘c’)
pyautogui.keyUp(‘c’)
pyautogui.keyUp(‘ctrl’)
快捷键的按键与释放顺序非常关键,这时我们可以使用 pyautogui.hotkey(),这个函数可以接受多个参数,按传入顺序按下,再按照相反顺序释放。上述快捷键 ctrl + c ,可以将代码变为:

1
pyautogui.hotkey('ctrl','c')

▲2.5提示信息框

(1)提示框/警告框

1
2
3
import pyautogui
a = pyautogui.alert(text='This is an alert box.', title='Test')
print(a)

输出如下图:点击确定,返回值为‘OK’

(2)选择框

1
2
3
import pyautogui
a = pyautogui.confirm('选择一项', buttons=['A', 'B', 'C'])
print(a)

输出如下图:点击B选项,返回值为‘B’

(3)密码输入

1
2
3
import pyautogui
a = pyautogui.password('Enter password (text will be hidden)')
print(a)

输出如下图:输入密码,显示为密文,点击OK,返回值为刚刚输入的值;

(4)普通输入

1
2
3
import pyautogui
a = pyautogui.prompt('请输入一个数字:')
print(a)

输出如下图:显示为明文,点击OK,返回值为刚刚输入的值;

★3 pytorch使用

全部转化为tensor格式

★4 lightning的使用

https://zhuanlan.zhihu.com/p/659631467

安装cuda

参考:https://zhuanlan.zhihu.com/p/601368710

本机驱动版本:517.47,查询得最高可装CUDA 11.7

查询NVIDA官网:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#

安装链接:https://developer.nvidia.com/cuda-11-7-1-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local

Graphviz安装配置好后无法import的问题

进入到Prompt中pip install graphviz就可以了!

https://blog.csdn.net/weixin_45956028/article/details/113621632

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2022-2025 wolf void
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信