Crea dal sorgente su Windows

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Crea un pacchetto pip TensorFlow dall'origine e installalo su Windows.

Installazione per Windows

Installa i seguenti strumenti di compilazione per configurare il tuo ambiente di sviluppo Windows.

Installa Python e le dipendenze del pacchetto TensorFlow

Installa una versione di Python 3.7+ a 64 bit per Windows . Seleziona pip come funzione facoltativa e aggiungila alla tua variabile ambientale %PATH% .

Installa le dipendenze del pacchetto pip di TensorFlow:

pip3 install -U six numpy wheel packaging
pip3 install -U keras_preprocessing --no-deps

Le dipendenze sono elencate nel file setup.py in REQUIRED_PACKAGES .

Installa Bazel

Installa Bazel , lo strumento di compilazione utilizzato per compilare TensorFlow. Per la versione Bazel, vedere le configurazioni di build testate per Windows. Configura Bazel per compilare C++ .

Aggiungi la posizione dell'eseguibile Bazel alla tua variabile d'ambiente %PATH% .

Installa MSYS2

Installa MSYS2 per gli strumenti bin necessari per creare TensorFlow. Se MSYS2 è installato in C:\msys64 , aggiungi C:\msys64\usr\bin alla variabile di ambiente %PATH% . Quindi, usando cmd.exe , esegui:

pacman -S git patch unzip

Installa gli strumenti di compilazione di Visual C++ 2019

Installa gli strumenti di compilazione di Visual C++ 2019 . Viene fornito con Visual Studio 2019 ma può essere installato separatamente:

  1. Vai ai download di Visual Studio ,
  2. Selezionare Redistributables e Build Tools ,
  3. Scarica e installa:
    • Microsoft Visual C++ 2019 ridistribuibile
    • Strumenti di compilazione Microsoft 2019

Installa il supporto GPU (facoltativo)

Consulta la guida di supporto della GPU di Windows per installare i driver e il software aggiuntivo necessari per eseguire TensorFlow su una GPU.

Scarica il codice sorgente di TensorFlow

Usa Git per clonare il repository TensorFlow ( git è installato con MSYS2):

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow

L'impostazione predefinita del repository è il ramo di sviluppo master . Puoi anche controllare un ramo di rilascio per creare:

git checkout branch_name  # r1.9, r1.10, etc.

Facoltativo: configurare il build

Le build di TensorFlow sono configurate dal file .bazelrc nella directory principale del repository. Gli script ./configure o ./configure.py possono essere utilizzati per regolare le impostazioni comuni.

Se è necessario modificare la configurazione, eseguire lo script ./configure dalla directory principale del repository.

python ./configure.py

Questo script richiede la posizione delle dipendenze TensorFlow e richiede ulteriori opzioni di configurazione della build (flag del compilatore, ad esempio). Quanto segue mostra un'esecuzione di esempio di python ./configure.py (la tua sessione potrebbe essere diversa):

Opzioni di configurazione

Per il supporto GPU , specifica le versioni di CUDA e cuDNN. Se il tuo sistema ha più versioni di CUDA o cuDNN installate, imposta esplicitamente la versione invece di affidarti a quella predefinita. ./configure.py crea collegamenti simbolici alle librerie CUDA del tuo sistema, quindi se aggiorni i percorsi della tua libreria CUDA, questo passaggio di configurazione deve essere eseguito di nuovo prima della compilazione.

Compila e installa il pacchetto pip

Il pacchetto pip viene compilato in due passaggi. Un bazel build crea un programma "costruttore di pacchetti". Quindi esegui il generatore di pacchetti per creare il pacchetto.

Costruisci il generatore di pacchetti

tensorflow:repo master è stato aggiornato per creare 2.x per impostazione predefinita. Installa Bazel e usa bazel build per creare il generatore di pacchetti TensorFlow.

bazel build //tensorflow/tools/pip_package:build_pip_package

Solo CPU

Usa bazel per creare il generatore di pacchetti TensorFlow con supporto solo per CPU:

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

Supporto GPU

Per creare il generatore di pacchetti TensorFlow con supporto GPU:

bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package

Opzioni di costruzione Bazel

Utilizzare questa opzione durante la compilazione per evitare problemi con la creazione del pacchetto: tensorflow:issue#22390

--define=no_tensorflow_py_deps=true

Vedere il riferimento della riga di comando Bazel per le opzioni di compilazione .

La compilazione di TensorFlow dall'origine può utilizzare molta RAM. Se il tuo sistema è limitato dalla memoria, limita l'utilizzo della RAM di Bazel con: --local_ram_resources=2048 .

Se si compila con il supporto GPU, aggiungere --copt=-nvcc_options=disable-warnings per sopprimere i messaggi di avviso nvcc.

Costruisci il pacchetto

Il comando bazel build crea un eseguibile chiamato build_pip_package : questo è il programma che crea il pacchetto pip . Ad esempio, quanto segue crea un pacchetto .whl nella C:/tmp/tensorflow_pkg :

bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg

Sebbene sia possibile creare configurazioni CUDA e non CUDA nello stesso albero dei sorgenti, si consiglia di eseguire bazel clean quando si passa da una configurazione all'altra nello stesso albero dei sorgenti.

Installa il pacchetto

Il nome del file .whl generato dipende dalla versione di TensorFlow e dalla tua piattaforma. Utilizzare pip3 install per installare il pacchetto, ad esempio:

pip3 install C:/tmp/tensorflow_pkg/tensorflow-version-cp36-cp36m-win_amd64.whl

Compila utilizzando la shell MSYS

TensorFlow può anche essere creato utilizzando la shell MSYS. Apporta le modifiche elencate di seguito, quindi segui le istruzioni precedenti per la riga di comando nativa di Windows ( cmd.exe ).

Disabilita la conversione del percorso MSYS

MSYS converte automaticamente gli argomenti che sembrano percorsi Unix in percorsi Windows, e questo non funziona con bazel . (L'etichetta //path/to:bin è considerata un percorso assoluto Unix poiché inizia con una barra.)

export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL="*"

Imposta il tuo PERCORSO

Aggiungi le directory di installazione di Bazel e Python alla tua variabile ambientale $PATH . Se Bazel è installato in C:\tools\bazel.exe e Python in C:\Python36\python.exe , imposta il tuo PATH con:

# Use Unix-style with ':' as separator
export PATH="/c/tools:$PATH"
export PATH="/c/Python36:$PATH"

Per il supporto della GPU, aggiungi le directory bin CUDA e cuDNN al tuo $PATH :

export PATH="/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0/bin:$PATH"
export PATH="/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0/extras/CUPTI/libx64:$PATH"
export PATH="/c/tools/cuda/bin:$PATH"

Configurazioni di build testate

processore

Versione Versione Python Compilatore Costruisci strumenti
tensorflow-2.11.0 3.7-3.10 MSVC 2019 Bazel 5.3.0
tensorflow-2.10.0 3.7-3.10 MSVC 2019 Bazel 5.1.1
tensorflow-2.9.0 3.7-3.10 MSVC 2019 Bazel 5.0.0
tensorflow-2.8.0 3.7-3.10 MSVC 2019 Bazel 4.2.1
tensorflow-2.7.0 3.7-3.9 MSVC 2019 Bazel 3.7.2
tensorflow-2.6.0 3.6-3.9 MSVC 2019 Bazel 3.7.2
tensorflow-2.5.0 3.6-3.9 MSVC 2019 Bazel 3.7.2
tensorflow-2.4.0 3.6-3.8 MSVC 2019 Bazel 3.1.0
tensorflow-2.3.0 3.5-3.8 MSVC 2019 Bazel 3.1.0
tensorflow-2.2.0 3.5-3.8 MSVC 2019 Bazel 2.0.0
tensorflow-2.1.0 3,5-3,7 MSVC 2019 Bazel 0.27.1-0.29.1
tensorflow-2.0.0 3,5-3,7 MSVC 2017 Bazel 0.26.1
tensorflow-1.15.0 3,5-3,7 MSVC 2017 Bazel 0.26.1
tensorflow-1.14.0 3,5-3,7 MSVC 2017 Bazel 0.24.1-0.25.2
tensorflow-1.13.0 3,5-3,7 MSVC 2015 aggiornamento 3 Bazel 0.19.0-0.21.0
tensorflow-1.12.0 3.5-3.6 MSVC 2015 aggiornamento 3 Bazel 0.15.0
tensorflow-1.11.0 3.5-3.6 MSVC 2015 aggiornamento 3 Bazel 0.15.0
tensorflow-1.10.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.9.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.8.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.7.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.6.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.5.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.4.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.3.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.2.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.1.0 3.5 MSVC 2015 aggiornamento 3 Cmake v3.6.3
tensorflow-1.0.0 3.5 MSVC 2015 aggiornamento 3 Cmake v3.6.3

GPU

Versione Versione Python Compilatore Costruisci strumenti cuDNN CUDA
tensorflow_gpu-2.11.0 3.7-3.10 MSVC 2019 Bazel 5.3.0 8.1 11.2
tensorflow_gpu-2.10.0 3.7-3.10 MSVC 2019 Bazel 5.1.1 8.1 11.2
tensorflow_gpu-2.9.0 3.7-3.10 MSVC 2019 Bazel 5.0.0 8.1 11.2
tensorflow_gpu-2.8.0 3.7-3.10 MSVC 2019 Bazel 4.2.1 8.1 11.2
tensorflow_gpu-2.7.0 3.7-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.6.0 3.6-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.5.0 3.6-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.4.0 3.6-3.8 MSVC 2019 Bazel 3.1.0 8.0 11.0
tensorflow_gpu-2.3.0 3.5-3.8 MSVC 2019 Bazel 3.1.0 7.6 10.1
tensorflow_gpu-2.2.0 3.5-3.8 MSVC 2019 Bazel 2.0.0 7.6 10.1
tensorflow_gpu-2.1.0 3,5-3,7 MSVC 2019 Bazel 0.27.1-0.29.1 7.6 10.1
tensorflow_gpu-2.0.0 3,5-3,7 MSVC 2017 Bazel 0.26.1 7.4 10
tensorflow_gpu-1.15.0 3,5-3,7 MSVC 2017 Bazel 0.26.1 7.4 10
tensorflow_gpu-1.14.0 3,5-3,7 MSVC 2017 Bazel 0.24.1-0.25.2 7.4 10
tensorflow_gpu-1.13.0 3,5-3,7 MSVC 2015 aggiornamento 3 Bazel 0.19.0-0.21.0 7.4 10
tensorflow_gpu-1.12.0 3.5-3.6 MSVC 2015 aggiornamento 3 Bazel 0.15.0 7.2 9.0
tensorflow_gpu-1.11.0 3.5-3.6 MSVC 2015 aggiornamento 3 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.9.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.8.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.7.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.6.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.5.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.4.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3 6 8
tensorflow_gpu-1.3.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3 6 8
tensorflow_gpu-1.2.0 3.5-3.6 MSVC 2015 aggiornamento 3 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.1.0 3.5 MSVC 2015 aggiornamento 3 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.0.0 3.5 MSVC 2015 aggiornamento 3 Cmake v3.6.3 5.1 8