Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

tf.compat.v1.wrap_function

Lihat sumber di GitHub

Membungkus fungsi TF 1.x fn menjadi fungsi grafik.

Digunakan di notebook

Digunakan dalam panduan

Fungsi python fn akan dipanggil sekali dengan argumen simbolis ditentukan dalam signature , ditelusuri, dan berubah menjadi fungsi grafik. Setiap variabel dibuat oleh fn akan dimiliki oleh objek dikembalikan oleh wrap_function . Fungsi grafik yang dihasilkan dapat disebut dengan tensor yang cocok tanda tangan.

 def f(x, do_add):
  v = tf.Variable(5.0)
  if do_add:
    op = v.assign_add(x)
  else:
    op = v.assign_sub(x)
  with tf.control_dependencies([op]):
    return v.read_value()

f_add = tf.compat.v1.wrap_function(f, [tf.TensorSpec((), tf.float32), True])

assert float(f_add(1.0)) == 6.0
assert float(f_add(1.0)) == 7.0

# Can call tf.compat.v1.wrap_function again to get a new trace, a new set
# of variables, and possibly different non-template arguments.
f_sub= tf.compat.v1.wrap_function(f, [tf.TensorSpec((), tf.float32), False])

assert float(f_sub(1.0)) == 4.0
assert float(f_sub(1.0)) == 3.0
 

Kedua tf.compat.v1.wrap_function dan tf.function membuat grafik TensorFlow callable. Tapi sementara tf.function menjalankan semua operasi stateful (misalnya tf.print ) dan operasi urutan untuk menyediakan semantik yang sama seperti eksekusi bersemangat, wrap_function lebih dekat dengan perilaku session.run di TensorFlow 1.x. Ini tidak akan menjalankan operasi kecuali jika mereka diminta untuk menghitung output fungsi ini, baik melalui ketergantungan data atau ketergantungan kontrol. Juga tidak akan urutan operasi.

Tidak seperti tf.function , wrap_function hanya akan melacak fungsi Python sekali. Seperti placeholder di TF 1.x, bentuk dan dtypes harus diberikan kepada wrap_function 's signature argumen.

Karena hanya ditelusuri sekali, variabel dan negara dapat dibuat di dalam fungsi dan dimiliki oleh objek fungsi pembungkus.

fn Fungsi python untuk dibungkus
signature placeholder dan python argumen yang akan dilewatkan ke fungsi dibungkus
name Pilihan. Nama fungsi.

fungsi grafik dibungkus.