Google si impegna a promuovere l'equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Build from source su Windows

Compilare un pacchetto pip TensorFlow dall'origine e installarlo su Windows.

Installazione per Windows

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

Installa le dipendenze del pacchetto Python e TensorFlow

Installa una versione a 64 bit di Python 3.5.xo Python 3.6.x per Windows . Seleziona pip come funzionalità opzionale e aggiungilo alla variabile ambientale %PATH% .

Installa le dipendenze del pacchetto pip TensorFlow:

pip3 install six numpy wheel
pip3 install keras_applications==1.0.6 --no-deps
pip3 install keras_preprocessing==1.0.5 --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 di Bazel, vedere le configurazioni di build testate per Windows. Configura Bazel per compilare C ++ .

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

Installa MSYS2

Installa MSYS2 per gli strumenti bin necessari per compilare TensorFlow. Se MSYS2 è installato su C:\msys64 , aggiungi C:\msys64\usr\bin alla variabile di ambiente %PATH% . Quindi, utilizzando cmd.exe , eseguire:

pacman -S git patch unzip

Installa Visual C ++ Build Tools 2019

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

  1. Vai ai download di Visual Studio ,
  2. Seleziona ridistribuibili e strumenti di costruzione ,
  3. Scarica e installa:
    • Microsoft Visual C ++ 2019 ridistribuibile
    • Microsoft Build Tools 2019

Installa il supporto GPU (opzionale)

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

Scarica il codice sorgente TensorFlow

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

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

Il repository utilizza per impostazione predefinita il ramo di sviluppo master . Puoi anche fare il checkout di un ramo di rilascio per creare:

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

Configura la build

Configura la build del tuo sistema eseguendo quanto segue alla radice dell'albero dei sorgenti di TensorFlow:

python ./configure.py

Questo script richiede l'ubicazione 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 sessione potrebbe essere diversa):

Opzioni di configurazione

Per il supporto GPU , specificare le versioni di CUDA e cuDNN. Se nel tuo sistema sono installate più versioni di CUDA o cuDNN, imposta esplicitamente la versione invece di fare affidamento sul valore predefinito. ./configure.py crea collegamenti simbolici alle librerie CUDA del tuo sistema, quindi se aggiorni i percorsi delle tue librerie CUDA, questo passaggio di configurazione deve essere eseguito nuovamente prima della compilazione.

Costruisci il pacchetto pip

TensorFlow 2.x

tensorflow: repository master è stato aggiornato per creare 2.x per impostazione predefinita. Installa Bazel e usa bazel build per creare il pacchetto TensorFlow.

bazel build //tensorflow/tools/pip_package:build_pip_package

TensorFlow 1.x

Per creare la versione 1.x di TensorFlow dal master, utilizzare bazel build --config=v1 per creare un pacchetto TensorFlow 1.x.

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

CPU-only

Utilizzare bazel per creare il generatore di pacchetti TensorFlow con supporto solo 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 di Bazel

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

--define=no_tensorflow_py_deps=true

Vedi il riferimento alla riga di comando di Bazel per le opzioni di costruzione .

Costruire TensorFlow dalla sorgente può usare molta RAM. Se il tuo sistema è limitato dalla memoria, limita l'utilizzo della RAM di Bazel con: --local_ram_resources=2048 .

Se si --copt=-nvcc_options=disable-warnings 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 costruisce il pacchetto pip . Ad esempio, di seguito viene .whl 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 sotto lo stesso albero dei sorgenti, si consiglia di eseguire bazel clean quando si passa tra queste due configurazioni nello stesso albero dei sorgenti.

Installa il pacchetto

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

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

Compilare usando la shell MSYS

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

Disabilita la conversione del percorso MSYS

MSYS converte automaticamente argomenti che assomigliano a 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 su C:\tools\bazel.exe e Python su C:\Python36\python.exe , imposta il PATH con:

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

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

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

Configurazioni di build testate

processore

Versione Versione Python Compiler Costruisci strumenti
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 Aggiornamento 3 di MSVC 2015 Bazel 0.19.0-0.21.0
tensorflow-1.12.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Bazel 0.15.0
tensorflow-1.11.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Bazel 0.15.0
tensorflow-1.10.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.9.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.8.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.7.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.6.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.5.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.4.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.3.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.2.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.1.0 3.5 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3
tensorflow-1.0.0 3.5 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3

GPU

Versione Versione Python Compiler Costruisci strumenti cuDNN CUDA
tensorflow_gpu-2.3.0 3,5-3,8 MSVC 2019 Bazel 3.1.0 7.4 10.1
tensorflow_gpu-2.2.0 3,5-3,8 MSVC 2019 Bazel 2.0.0 7.4 10.1
tensorflow_gpu-2.1.0 3.5-3.7 MSVC 2019 Bazel 0.27.1-0.29.1 7.4 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 Aggiornamento 3 di MSVC 2015 Bazel 0.19.0-0.21.0 7.4 10
tensorflow_gpu-1.12.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Bazel 0.15.0 7 9
tensorflow_gpu-1.11.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.9.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.8.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.7.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.6.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.5.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.4.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 6 8
tensorflow_gpu-1.3.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 6 8
tensorflow_gpu-1.2.0 3.5-3.6 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.1.0 3.5 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.0.0 3.5 Aggiornamento 3 di MSVC 2015 Cmake v3.6.3 5.1 8