Un ambiente per eseguire con entusiasmo le operazioni TensorFlow.
L'esecuzione entusiasta è un ambiente di programmazione imperativo che valuta le operazioni immediatamente, senza costruire grafici. Le operazioni restituiscono valori concreti invece di costruire un grafico computazionale da eseguire in seguito, come con Graph
e Session
.
Ciò semplifica lo sviluppo con TensorFlow e i modelli di debug, poiché si comporta più come una libreria di programmazione standard.
Le istanze di una EagerSession
sono thread-safe.
Classi nidificate
enum | EagerSession.DevicePlacementPolicy | Controlla come agire quando proviamo a eseguire un'operazione su un determinato dispositivo ma alcuni tensori di input non sono su quel dispositivo. | |
classe | EagerSession.Options | ||
enum | EagerSession.ResourceCleanupStrategy | Controlla il modo in cui le risorse TensorFlow vengono ripulite quando non sono più necessarie. |
Metodi pubblici
vuoto sincronizzato | vicino () |
EagerSession statico | creare () Restituisce un EagerSession configurato con le opzioni predefinite. |
EagerSession statico | getDefault () Restituisce la sessione entusiasta predefinita Una volta inizializzata, la sessione di entusiasmo predefinita rimane attiva per tutta la vita dell'applicazione, al contrario delle sessioni ottenute da |
EagerSession statico | initDefault (opzioni EagerSession.Options ) Inizializza la sessione di entusiasmo predefinita, che rimane attiva per tutta la durata dell'applicazione. |
OperationBuilder | |
EagerSession.Options statico | opzioni () Restituisce un oggetto che configura e crea una EagerSession con opzioni personalizzate. |
Metodi ereditati
Metodi pubblici
vuoto sincronizzato pubblico chiudi ()
public static EagerSession create ()
Restituisce un EagerSession
configurato con le opzioni predefinite.
ATTENZIONE: le istanze di EagerSession
restituite da questo metodo devono essere liberate esplicitamente richiamando close()
quando non sono più necessarie. Ciò potrebbe essere ottenuto utilizzando la tecnica "prova con risorse".
Utilizzo di esempio:
try (EagerSession session = EagerSession.create()) {
Ops tf = Ops.create(session);
// build execute operations eagerly...
}
pubblico statico EagerSession getDefault ()
Restituisce la sessione entusiasta predefinita
Una volta inizializzata, la sessione di entusiasmo predefinita rimane attiva per tutta la vita dell'applicazione, al contrario delle sessioni ottenute da create()
o EagerSession.Options.build()
che dovrebbero essere chiuse dopo il loro utilizzo.
Il set predefinito di EagerSession.Options
viene utilizzato per inizializzare la sessione alla prima chiamata. Per sovrascrivere questo comportamento, è possibile richiamare initDefault(Options)
con un diverso set di opzioni prima di questa prima chiamata.
Utilizzo di esempio:
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() implicitly
Ops tf = Ops.create();
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() explicitly
Ops tf = Ops.create(EagerSession.getDefault());
Ritorni
- sessione entusiasta predefinita
Vedi anche
public static EagerSession initDefault (opzioni EagerSession.Options )
Inizializza la sessione di entusiasmo predefinita, che rimane attiva per tutta la durata dell'applicazione.
Questo metodo viene invocato implicitamente alla prima chiamata a getDefault()
, ma può anche essere invocato esplicitamente per sovrascrivere le opzioni predefinite.
Tieni presente che chiamare questo metodo più di una volta genererà un'eccezione IllegalArgumentException
poiché la sessione predefinita non può essere modificata una volta creata. Pertanto, è importante inizializzarlo esplicitamente prima che getDefault()
venga richiamato per la prima volta da qualsiasi thread.
Utilizzo di esempio:
// Initializing default session to override default options is valid but
// is optional
EagerSession.initDefault(EagerSession.options().async(true));
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() implicitly
Ops tf = Ops.create();
// Initializing default session more than once or after using it is not
// permitted and throws an exception
EagerSession.initDefault(EagerSession.options().async(true)); // throws
Parametri
opzioni | opzioni da utilizzare per creare la sessione predefinita |
---|
Ritorni
- sessione entusiasta predefinita
Lancia
IllegalStateException | se la sessione predefinita è già inizializzata |
---|
Vedi anche
public OperationBuilder opBuilder (tipo stringa, nome stringa)
Restituisce un builder per creare una nuova Operation
.
Parametri
tipo | dell’Operazione (ovvero, identifica il calcolo da eseguire) |
---|---|
nome | per fare riferimento all'operazione creata nell'ambito di questo ambiente. |
Ritorni
- un
OperationBuilder
per creare un'operazione quando viene richiamatoOperationBuilder.build()
. SeOperationBuilder.build()
non viene richiamato, alcune risorse potrebbero perdere.
opzioni pubbliche statiche EagerSession.Options ()
Restituisce un oggetto che configura e crea una EagerSession
con opzioni personalizzate.
ATTENZIONE: le istanze di EagerSession
restituite da questo metodo devono essere liberate esplicitamente richiamando close()
quando non sono più necessarie. Ciò potrebbe essere ottenuto utilizzando la tecnica "prova con risorse".
Utilizzo di esempio:
try (EagerSession session = EagerSession.options().async(true).build()) {
Ops tf = Ops.create(session);
// build execute operations eagerly and asynchronously...
}