麒麟V10安装
笔记参考¶
win11 x86 系统部署arm架构的虚拟机(银河麒麟为例)
Windows系统x86机器安装(麒麟、统信)ARM系统详细教程
测试项目:https://github.com/taishan1994/BERT-BILSTM-CRF
安装常用系统环境¶
apt-get install xz-utils nano wget unzip build-essential git bc swig libncurses5-dev libpython3-dev libssl-dev pkg-config zlib1g-dev libusb-dev libusb-1.0-0-dev python3-pip gawk bison flex
安装ssh工具,并且打开ssh
安装torch环境¶
可以直接安装whl文件,从链接下。注意版本间的对应关系。
版本间对应关系可以参考博客:https://blog.csdn.net/shiwanghualuo/article/details/122860521
X86_64 VMware安装¶
1、银河麒麟操作系统V10(SP1) 经常弹框提示是否授权
解决方案:
2、Pyinstaller打包报错IndexError: tuple index out of range
问题,这个问题主要是在Python3.7以上的版本中遇到,用pyinstaller打包的时候发现报错
/usr/local/lib/python3.10/dis.py
argval = const_list[const_index],
IndexError: tuple index out of range
解决方案
进入报错的文件,/usr/local/lib/python3.10/dis.py
找到def _unpack_opargs(code)函数,在else语句中添加extended_arg=0,如下:
def _unpack_opargs(code):
extended_arg = 0
for i in range(0, len(code), 2):
op = code[i]
if op >= HAVE_ARGUMENT:
arg = code[i+1] | extended_arg
extended_arg = (arg << 8) if op == EXTENDED_ARG else 0
else:
arg = None
+ extended_arg = 0
yield (i, op, arg)
配置TAP-Windows的问题¶
安装好后,注意修改生成的网络接口名字,以供后面使用,比如我这里就是修改的tap1212,在QEMU生成的时候会有一栏-net tap,需要选择接入的虚拟网口名字。
安装好后,使用一个有网的网络共享这个网络。
在生成的虚拟机中,需要在**设置**的安全中心,关闭这个防火墙,不然不能SSH。
QEMU安装¶
初始安装的时候:
注意-drive的路径和文件名,选择自己电脑上的。\是使用Linux环境下的换行,^是使用Windows下的换行。
qemu-system-aarch64.exe \
-m 4096 \
-cpu cortex-a72 -smp 4,cores=2,threads=2,sockets=1 \
-M virt \
-bios F:\Kylindisk\QEMU_EFI.fd \
-net nic \
-net tap,ifname=tap1212 \
-drive if=none,file=F:\Kylindisk\kylindisk.qcow2,id=hd0 \
-drive if=none,file=F:\Kylindisk\Kylin-Desktop-V10-SP1-kirin990-Release-2203-ARM64.iso,id=cdrom,media=cdrom \
-device nec-usb-xhci \
-device usb-kbd \
-device usb-mouse \
-device VGA \
-device virtio-scsi-device \
-device scsi-cd,drive=cdrom \
-device virtio-blk-device,drive=hd0
qemu-system-aarch64.exe ^
-m 4096 ^
-cpu cortex-a72 -smp 4,cores=2,threads=2,sockets=1 ^
-M virt ^
-bios F:\Kylindisk\QEMU_EFI.fd ^
-net nic ^
-net tap,ifname=tap1212 ^
-drive if=none,file=F:\Kylindisk\kylindisk.qcow2,id=hd0 ^
-drive if=none,file=F:\Kylindisk\Kylin-Desktop-V10-SP1-kirin990-Release-2203-ARM64.iso,id=cdrom,media=cdrom ^
-device nec-usb-xhci ^
-device usb-kbd ^
-device usb-mouse ^
-device VGA ^
-device virtio-scsi-device ^
-device scsi-cd,drive=cdrom ^
-device virtio-blk-device,drive=hd0
后面安装的时候
需要去掉镜像文件,-drive if=none,file=F:\Kylindisk\Kylin-Desktop-V10-SP1-kirin990-Release-2203-ARM64.iso,id=cdrom,media=cdrom和-device scsi-cd,drive=cdrom。其他可保持不变。
qemu-system-aarch64.exe \
-m 4096 \
-cpu cortex-a72 -smp 4,cores=2,threads=2,sockets=1 \
-M virt \
-bios F:\Kylindisk\QEMU_EFI.fd \
-net nic \
-net tap,ifname=tap1212 \
-drive if=none,file=F:\Kylindisk\kylindisk.qcow2,id=hd0 \
-device nec-usb-xhci \
-device usb-kbd \
-device usb-mouse \
-device VGA \
-device virtio-scsi-device \
-device virtio-blk-device,drive=hd0
qemu-system-aarch64.exe ^
-m 4096 ^
-cpu cortex-a72 -smp 4,cores=2,threads=2,sockets=1 ^
-M virt ^
-bios F:\Kylindisk\QEMU_EFI.fd ^
-net nic ^
-net tap,ifname=tap1212 ^
-drive if=none,file=F:\Kylindisk\kylindisk.qcow2,id=hd0 ^
-device nec-usb-xhci ^
-device usb-kbd ^
-device usb-mouse ^
-device VGA ^
-device virtio-scsi-device ^
-device virtio-blk-device,drive=hd0
ARM版的Conda安装¶
不安装最新的版本使用3.10版本的Miniconda具体的下载可以使用清华的镜像源
https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
找到链接地址https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py310_24.9.2-0-Linux-aarch64.sh
使用版本Miniconda3-py310_24.9.2-0-Linux-aarch64.sh。
Transformer¶
该项目使用的transformer版本是4.27.4,该版本适配的Python是3.10,其他版本安装可能出问题。
下面的步骤问题是由于使用Python3.12安装transformer4.27.4遇到的问题。
可以不用管,仅作记录
安装的Rust报错
修改cargo的config
# 放到 `$HOME/.cargo/config` 文件中
[source.crates-io]
#registry = "https://github.com/rust-lang/crates.io-index"
# 替换成你偏好的镜像源
replace-with = 'ustc'
#replace-with = 'sjtu'
# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
# 中国科学技术大学
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"
# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "https://crates.rustcc.cn/crates.io-index"
将环境变量加入~/.bashrc