Comment installer tensorflow sur un mac studio ?

Published: 14 décembre 2022

Tags: Python; TensorFlow; MacOS;

DMCA.com Protection Status

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).