Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

tf.compat.v1.Session

GitHub üzerinde Görünüm kaynak

TensorFlow işlemleri çalıştırmak için bir sınıf.

dizüstü Kullanılan

öğreticiler Kullanılan

Bir Session nesnesi çevreyi kapsüller Operation amaçları yürütülür ve Tensor nesneleri değerlendirilir. Örneğin:

 tf.compat.v1.disable_eager_execution() # need to disable eager in TF2.x
# Build a graph.
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b

# Launch the graph in a session.
sess = tf.compat.v1.Session()

# Evaluate the tensor `c`.
print(sess.run(c)) # prints 30.0
 

Bir oturum gibi kaynakları sahibi olabilir tf.Variable , tf.queue.QueueBase ve tf.compat.v1.ReaderBase . onlar artık gerekli değildir zaman bu kaynakları serbest bırakmak için önemlidir. Bunu yapmak, ya çağırmak için tf.Session.close oturumunda metod veya bir bağlam yöneticisi olarak oturumu kullanın. Aşağıdaki iki örnek eşdeğerdir:

 # Using the `close()` method.
sess = tf.compat.v1.Session()
sess.run(...)
sess.close()

# Using the context manager.
with tf.compat.v1.Session() as sess:
  sess.run(...)
 

ConfigProto protokol tampon bir oturum için çeşitli yapılandırma seçeneklerini sunar. Örneğin, aşağıdaki gibi bir oturum oluşturmak, cihaz yerleştirme için yumuşak kısıtlamaları kullanan bir oturum oluşturmak ve elde edilen yerleştirme kararları oturum açmak için:

 # Launch the graph in a session that allows soft device placement and
# logs the placement decisions.
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(
    allow_soft_placement=True,
    log_device_placement=True))
 

target (İsteğe bağlı). Bağlanmak için yürütme motoru. bir in-proses motorunu kullanarak öntanımlıdır. Bkz Dağıtılmış TensorFlow fazla örnek için.
graph (İsteğe bağlı). Graph başlatılan (yukarıda tarif edilmiştir) gereken.
config (İsteğe bağlı.) Bir ConfigProto oturumu için yapılandırma seçenekleri ile protokol tampon.

graph Bu oturumda başlatıldı grafiği.
graph_def altta yatan TensorFlow grafiğin bir seri versiyonu.
sess_str Bu oturumda bağlanacağı TensorFlow süreci.

Yöntemler

as_default

Görünüm kaynağı

Bu nesneyi varsayılan oturum kılan bir bağlam yöneticisi döndürür.

İle kullan with anahtar kelimeye çağrılar belirtmek için tf.Operation.run veya tf.Tensor.eval bu oturumda yürütülmelidir.

 c = tf.constant(..)
sess = tf.compat.v1.Session()

with sess.as_default():
  assert tf.compat.v1.get_default_session() is sess
  print(c.eval())
 

Geçerli varsayılan oturumunu almak için kullanmak tf.compat.v1.get_default_session .

 c = tf.constant(...)
sess = tf.compat.v1.Session()
with sess.as_default():
  print(c.eval())
# ...
with sess.as_default():
  print(c.eval())

sess.close()
 

Alternatif olarak, kullanabileceğiniz with tf.compat.v1.Session(): otomatik yakalanmamış istisna yükseltildiğinde dahil bağlamı, çıkarken günleri kapalı bir oturum oluşturmak için.

İadeler
Varsayılan oturum olarak bu oturumu kullanarak bir bağlam yöneticisi.

close

Görünüm kaynağı

Bu oturumu kapatır.

Bu yöntemin çağrılması oturumla ilişkili tüm kaynakları serbest bırakır.

yükseltmeler
tf.errors.OpError TensorFlow oturumu kapatırken veya alt sınıflarından birinin bir hata oluşursa.

list_devices

Görünüm kaynağı

Bu oturumda mevcut cihazların listeler.

 devices = sess.list_devices()
for d in devices:
  print(d.name)
 

Nerede:

Listedeki her eleman aşağıdaki özelliklere sahiptir

  • name : cihazın tam adı ile bir dize. örn: /job:worker/replica:0/task:3/device:CPU:0
  • device_type : Cihazın tipi (örneğin, CPU , GPU , TPU ).
  • memory_limit : cihazda kullanılabilir maksimum bellek miktarı. Not: cihaza bağlı olarak, bu kullanılabilir bellek, büyük ölçüde daha az olabilir mümkündür.

yükseltmeler
tf.errors.OpError Bir hata karşılaşırsa (örneğin oturumu geçersiz bir durumda olduğunu veya ağ hataları meydana).

İadeler
oturumda cihazların listesi.

make_callable

Görünüm kaynağı

İade belirli bir adım çalışan bir Python çağrılabilir.

Geri çağrılabilir alacaktır len(feed_list) olan türleri söz konusu elemanları için uygun besleme değerler olmalıdır argümanlar feed_list . Örneğin, eleman, eğer i arasında feed_list a, tf.Tensor , i inci argüman dönen uygun bir eleman türü ve şekli ile bir numpy ndarray (veya bir ndarray çevrilebilecek bir şey) olmalıdır çağrılabilir. Bkz tf.Session.run izin verilen besleme anahtarı ve değer türleri hakkında bilgi için.

İade çağrılabilir aynı döndürme türüne sahip olacak tf.Session.run(fetches, ...) . Örneğin, fetches a, tf.Tensor , çağrılabilir, numpy ndarray döndürür; eğer fetches bir olduğunu tf.Operation , bu dönecektir None .

args
fetches değerlerin bir değer, veya liste almak için. Bkz tf.Session.run izin verilen getirme tiplerinin detayları için.
feed_list (İsteğe bağlı.) Bir listesi feed_dict tuşları. Bkz tf.Session.run izin verilen yem anahtar tiplerinin detayları için.
accept_options (İsteğe bağlı.) Eğer True , dönen Callable kabul etmek mümkün olacak tf.compat.v1.RunOptions ve tf.compat.v1.RunMetadata opsiyonel anahtar kelime argümanlar olarak options ve run_metadata aynı sözdizimi ve semantik ile sırasıyla tf.Session.run belirli kullanımlar (profil ve ayıklama), fakat ölçülebilir yavaşlamasına neden olur için yararlıdır, Callable performansının. Varsayılan: False .

İadeler
Tarafından tanımlanan adımı yürütür aradığında o bir fonksiyon feed_list ve fetches bu oturumda.

yükseltmeler
TypeError Eğer fetches veya feed_list argüman olarak yorumlanamaz tf.Session.run .

partial_run

Görünüm kaynağı

daha beslemeleri ve fetches ile yürütülmesine devam ediyor.

Bu DENEYSEL ve değişime tabidir.

Kısmi yürütme kullanmak için, bir kullanıcı ilk çağırır partial_run_setup() bir dizi ve daha sonra partial_run() . partial_run_setup sonraki kullanılacak yemlerin ve fetches listesini belirtir partial_run aramalar.

İsteğe bağlı feed_dict argüman grafikte tensörlerin değeri geçersiz kılmak için arayan sağlar. Daha fazla bilgi için koşmak () bakın.

Aşağıda basit bir örnek:

 a = array_ops.placeholder(dtypes.float32, shape=[])
b = array_ops.placeholder(dtypes.float32, shape=[])
c = array_ops.placeholder(dtypes.float32, shape=[])
r1 = math_ops.add(a, b)
r2 = math_ops.multiply(r1, c)

h = sess.partial_run_setup([r1, r2], [a, b, c])
res = sess.partial_run(h, r1, feed_dict={a: 1, b: 2})
res = sess.partial_run(h, r2, feed_dict={c: res})
 

args
handle Kısmi çalışan bir dizi için bir sap.
fetches Tek bir grafik eleman, grafik elemanlarının bir listesi ya da, değerleri grafik elemanlar ya da grafik elemanlarının listeleri (belgelerine bakınız sözlük run ).
feed_dict değerleri için grafik elementleri eşler bir sözlük (yukarıda tarif edilmiştir).

İadeler
Ya eğer tek bir değer fetches ise tek bir grafik eleman veya bir değerler listesi fetches bir listesi ya da aynı tuşları ile bir sözlük fetches bir sözlük (belgelerine bakınız ise run ).

yükseltmeler
tf.errors.OpError Hata durumunda alt sınıflarından Ya da bir.