Apple Silicon的 PyTorch 解决方案

2022-06-29  本文已影响0人  BaronDu

Apple Silicon的 PyTorch 解决方案 (目前PyTorch 已经更新支持啦!) 愉快的使用原生支持吧

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

虽然Python 3.10更新了很多新特性,包括switch。但是截止到2021.01.01 pytorch还不支持。所以目前最佳的DL py环境还是在3.8.x和3.9.x。这里选择更新的3.9.x,环境的选择最好还是跟项目所需特定库支持版本,之前做wavelet的时候,TaLib的版本只支持py3.6

此处特别说明,使用配置的是更新了Apple silicon的Macbook Pro 16 (M1 Max) 版本,因此所有包均需支持arm64。一下是我的解决方案。如果嫌麻烦,不想在本地跑且数据不敏感开业上云的话,,Kaggle, Colab 和Colab pro 的付费选项都是很好的选择。source activate py39-nlp

苹果官方教程:

https://developer.apple.com/metal/tensorflow-plugin/

Tensorflow GPU for Apple Silicon

Step 1: Environment setup

arm64 : Apple Silicon----Download and install Conda env:
chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
source ~/miniforge3/bin/activate
Install the TensorFlow dependencies:
conda install -c apple tensorflow-deps

Step 2: Install base TensorFlow

python -m pip install tensorflow-macos

NOTE: If using conda environment built against pre-macOS 11 SDK use:

SYSTEM_VERSION_COMPAT=0 python -m pip install tensorflow-macos

otherwise you will get errors like : “not a supported wheel on this platform”

Step 3: Install tensorflow-metal plugin

python -m pip install tensorflow-metal

Set Kaggle API

这里有详细教程,设置好API后可以从,colab或者本地上传competition的结果。

https://github.com/Kaggle/kaggle-api

chmod 600 /Users/baron/.kaggle/kaggle.json

环境内所需包

Mamba 里能支持arm64的包

Source: conda-forge/noarch

Source: conda-forge/osx-arm64

pip包

Mamba update --all

显示隐藏

command+shift+.

1 训练时

model = Word2Vec(x, size=250, window=5, min_count=5, workers=12, iter=10, sg=1)

这句代码一直报错 查了发现 size和iter依然是时代的眼泪了。改成下面

model = Word2Vec(x, vector_size=250, window=5, min_count=5, workers=12, epochs=10, sg=1)

2:遍历这个 模型时 使用的代码

for i, word in enumerate(self.embedding.wv.vocab)

一直报错 ,查官网 改成了index_to_key,

for i, word in enumerate(self.embedding.wv.index_to_key):

3: 罪大恶极的错误 'Word2Vec' object is not subscriptable

我用的是

model['word']

这句话 ,来查询单词对应的向量,以前好像大家都这样用, 今天一直提示我错误 。经过长时间的查询(而且是从其他路径查询的),发现已经变为了

self.embedding.wv[word]
上一篇 下一篇

猜你喜欢

热点阅读