在 Apple M1/M2 下安装训练 MockingBird

安装 Anacodna

从清华镜像下载: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

搜索: MacOSX-arm64.pkg 并看更新时间,找最新版本。我下的版本为:Anaconda3-2023.03-1-MacOSX-arm64.pkg,安装时选择仅为当前用户,否则会说版本不兼容不让安装。

安装完成后配置镜像:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 
conda config --set show_channel_urls yes
❯ conda info

     active environment : base
    active env location : /Users/v0/anaconda3
            shell level : 1
       user config file : /Users/v0/.condarc
 populated config files : /Users/v0/.condarc
          conda version : 23.3.1
    conda-build version : 3.24.0
         python version : 3.10.9.final.0
       virtual packages : __archspec=1=arm64
                          __osx=13.3.1=0
                          __unix=0=0
       base environment : /Users/v0/anaconda3  (writable)
      conda av data dir : /Users/v0/anaconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/osx-arm64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/osx-arm64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/main/osx-arm64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-arm64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/v0/anaconda3/pkgs
                          /Users/v0/.conda/pkgs
       envs directories : /Users/v0/anaconda3/envs
                          /Users/v0/.conda/envs
               platform : osx-arm64
             user-agent : conda/23.3.1 requests/2.28.1 CPython/3.10.9 Darwin/22.4.0 OSX/13.3.1
                UID:GID : 501:20
             netrc file : None
           offline mode : False

看到这个配置成功。

配置 Conda 工作空间

conda create -n voice
# 中间需要回车确认
conda activate voice

安装 Pytorch

官方文档:https://pytorch.org/get-started/locally/

conda install pytorch torchvision -c pytorch
pip3 install torch torchvision

然后使用 python3 命令输入以下脚本进行测试:

import torch
x = torch.rand(5, 3)
print(x)

安装 FFmpeg

下载: https://ffmpeg.org/download.html#build-mac

下载解压后移动到 bin 目录。比如:

mv ffmpeg ~/anaconda3/bin/
# 测试一下
ffmeg -version

安装项目依赖

使用 Rosetta 打开 Terminal,然后进入该项目目录:

# 替换 PathToMockingBird, 可以用 pwd 命令查看当前目录地址
/usr/bin/python3 -m venv /PathToMockingBird/venv
source /PathToMockingBird/venv/bin/activate
pip install --upgrade pip
pip install pyqt5
  • 安装pyworldctc-segmentation

    这里两个文件直接pip install的时候找不到wheel,尝试从c里build时找不到Python.h报错

    • 安装pyworld

      • brew install python 通过brew安装python时会自动安装Python.h
      • export CPLUS_INCLUDE_PATH=/opt/homebrew/Frameworks/Python.framework/Headers 对于M1,brew安装Python.h到上述路径。把路径添加到环境变量里
      • pip install pyworld
    • 安装ctc-segmentation

      因上述方法没有成功,选择从github clone源码手动编译

      • git clone https://github.com/lumaku/ctc-segmentation.git 克隆到任意位置
      • cd ctc-segmentation
      • source /PathToMockingBird/venv/bin/activate 假设一开始未开启,打开MockingBird项目的虚拟环境
      • cythonize -3 ctc_segmentation/ctc_segmentation_dyn.pyx
      • /usr/bin/arch -x86_64 python setup.py build 要注意明确用x86-64架构编译
      • /usr/bin/arch -x86_64 python setup.py install --optimize=1 --skip-build用x86-64架构安装
  • 安装其他依赖

    • /usr/bin/arch -x86_64 pip install torch torchvision torchaudio 这里用pip安装PyTorch,明确架构是x86
    • pip install ffmpeg 安装ffmpeg
    • pip install -r requirements.txt
  • 运行

    参考这个链接
    ,让项目跑在x86架构环境上

    • vim /PathToMockingBird/venv/bin/pythonM1
    • 写入以下代码
      #!/usr/bin/env zsh
      mydir=${0:a:h}
      /usr/bin/arch -x86_64 $mydir/python "$@"
      
    • chmod +x pythonM1 设为可执行文件
    • 如果使用PyCharm,则把Interpreter指向pythonM1,否则也可命令行运行/PathToMockingBird/venv/bin/pythonM1 demo_toolbox.py

你可能感兴趣的:(杂七杂八,javascript,开发语言,人工智能)