J'ai récemment acheté un nouveau mac studio et j'avais besoin de Tensorflow pour mon travail. Sur mon précédent iMac, j'ai installé tensorflow en utilisant Anaconda et cela a très bien fonctionné. Cependant, maintenant, avec mon nouveau mac studio (puce Apple M1), j'ai l'erreur suivante dans mes tutoriels jupyter notebook:
"the kernel appears to have died. it will restart automatically"
quand je fais:
import tensorflow as tf
Et si je lance python sur le terminal :
import tensorflow as tf
j'obtiens
ERROR: Could not find a version that satisfies the requirement tensorflow-macos (from versions: none).
Donc, après quelques heures à essayer de comprendre pourquoi et comment y remédier, j'ai trouvé la solution suivante qui fonctionne bien pour moi :
Installer tensorflow avec miniforge
Pour utiliser tensorflow, vous devez installer miniforge (Note : pas besoin de supprimer anaconda s'il est déjà installé ; il est possible de travailler avec les deux).
Étape 0 : assurez-vous que vous n'êtes pas dans un environnement anaconda. Entrez plusieurs fois :
conda deactivate
por quitter Conda.
Étape 1, allez sur github miniforge et téléchargez le script "Miniforge3-MacOSX-arm64.sh" sur votre machine. Ouvrez ensuite un terminal et lancez le script :
sh Miniforge3-MacOSX-arm64.sh
Acceptez la licence et saisissez oui (miniforge initialisé).
Ensuite, démarrez une nouvelle fenêtre de terminal !! (si vous ne le faites pas, les étapes suivantes ne fonctionneront pas).
Étape 2 : créer un nouvel environnement conda appelé par exemple worklab_tf
conda create --name worklab_tf python=3.8
Étape 3 : activez le nouvel environnement
conda activate worklab_tf
Étape 4
conda install -c apple tensorflow-deps
Étape 5
pip install tensorflow-macos
Étape 6
pip install tensorflow-metal
Étape 7
conda install -c conda-forge -y pandas jupyter
Étape 8
jupyter notebook
Ensuite, si vous entrez dans une cellule de cahier jupyter notebook:
import tensorflow as tf
il ne devrait renvoyer aucun message d'erreur.
Travailler avec anaconda et miniforge ensemble
Ok alors maintenant quand j'essaie:
conda env list
J'ai maintenant l'environnement de miniforge3 et anaconda3 :
conda env list
# conda environments:
#
/Users/student/miniforge3/envs/worklab_tf
base /Users/student/opt/anaconda3
mlp /Users/student/opt/anaconda3/envs/mlp
websitedev /Users/student/opt/anaconda3/envs/websitedev
worklab /Users/student/opt/anaconda3/envs/worklab
mais cela n'est pas un problème, vous pouvez facilement passer l'un à l'autre en éditant le fichier .zshrc. Ouvrez simplement le fichier :
vi .zshrc
le fichier doit se trouver dans /Users/student (remplacez student par votre nom)
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/bmarchant/miniforge3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/bmarchant/miniforge3/etc/profile.d/conda.sh" ]; then
. "/Users/bmarchant/miniforge3/etc/profile.d/conda.sh"
else
export PATH="/Users/bmarchant/miniforge3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
il suffit alors de remplacer miniforge3 par anaconda3.
Et voilà !!. Il m'a fallu plus de temps que prévu pour installer Tensorflow mais au moins cela fonctionne maintenant sur mon mac studio (je suppose que c'est une solution temporaire avant qu'il ne fonctionne à nouveau avec anaconda).