Tensorflow: Bagaimana cara menginisialisasi lapisan embeddings di dalam Estimator API?

Dibuat pada 12 Jan 2018  ·  3Komentar  ·  Sumber: tensorflow/tensorflow

Saya mencoba menggunakan penyematan yang ada dalam model tensorflow, ukuran penyematan lebih besar dari 2Gb dan ini membuat upaya awal saya untuk melakukan ini tidak berhasil:

embedding_var = tf.get_variable(
        "embeddings", 
        shape=GLOVE_MATRIX.shape, 
        initializer=tf.constant_initializer(np.array(GLOVE_MATRIX))
)

Yang memberi saya kesalahan ini:

Cannot create a tensor proto whose content is larger than 2GB.

Saya menggunakan AWS SageMaker, yang didasarkan pada Estimator API, dan grafik yang sebenarnya berjalan dalam sesi terjadi di belakang layar, jadi saya tidak yakin bagaimana menginisialisasi beberapa placeholder untuk penyematan mengingat hal itu. Akan sangat membantu jika seseorang dapat membagikan cara melakukan inisialisasi seperti itu dalam hal EstimatorAPI.


Silakan buka Stack Overflow untuk bantuan dan dukungan:

https://stackoverflow.com/questions/tagged/tensorflow

Jika Anda membuka masalah GitHub, berikut adalah kebijakan kami:

  1. Itu pasti bug atau permintaan fitur.
  2. Formulir di bawah ini harus diisi.
  3. Seharusnya tidak menjadi masalah TensorBoard. Mereka pergi ke sini .

Inilah alasan kami memiliki kebijakan tersebut : Pengembang TensorFlow menanggapi masalah. Kami ingin fokus pada pekerjaan yang bermanfaat bagi seluruh komunitas, misalnya, memperbaiki bug dan menambahkan fitur. Dukungan hanya membantu individu. GitHub juga memberi tahu ribuan orang ketika masalah diajukan. Kami ingin mereka melihat Anda mengomunikasikan masalah yang menarik, daripada dialihkan ke Stack Overflow.


Sistem Informasi

  • Sudahkah saya menulis kode khusus (sebagai lawan menggunakan skrip contoh stok yang disediakan di TensorFlow) :
  • Platform dan Distribusi OS (misalnya, Linux Ubuntu 16.04) :
  • TensorFlow diinstal dari (sumber atau biner) :
  • Versi TensorFlow (gunakan perintah di bawah) :
  • Versi Python :
  • Versi Bazel (jika dikompilasi dari sumber) :
  • Versi GCC/Compiler (jika dikompilasi dari sumber) :
  • Versi CUDA/cuDNN :
  • Model dan memori GPU :
  • Perintah yang tepat untuk mereproduksi :

Anda dapat mengumpulkan beberapa informasi ini menggunakan skrip penangkapan lingkungan kami:

https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh

Anda bisa mendapatkan versi TensorFlow dengan

python -c "import tensorflow sebagai tf; print(tf.GIT_VERSION, tf.VERSION)"

Jelaskan masalahnya

Uraikan masalahnya dengan jelas di sini. Pastikan untuk menyampaikan di sini mengapa ini merupakan bug di TensorFlow atau permintaan fitur.

Kode sumber / log

Sertakan log atau kode sumber apa pun yang akan membantu mendiagnosis masalah. Jika menyertakan traceback, harap sertakan traceback lengkap. Log dan file besar harus dilampirkan. Cobalah untuk memberikan kasus uji yang dapat direproduksi yang merupakan kebutuhan minimum untuk menghasilkan masalah.

awaiting response bug

Komentar yang paling membantu

sepertinya ada cara yang tepat untuk menginisialisasi variabel dengan embeddings adalah dengan menggunakan tf.train.Scafffold . Berikut adalah informasi lebih lanjut mengenai ini di stackoverflow

Semua 3 komentar

Saya pikir ini biasanya akan menjadi jenis masalah "kirim ke StackOverflow" (respons standar ditambahkan di bawah), tetapi batas 2GB sepertinya berada dalam jangkauan bug atau permintaan fitur.

@martinwicke @ispirmustafa ada saran?

Pertanyaan ini lebih baik ditanyakan di StackOverflow karena ini bukan bug atau permintaan fitur. Ada juga komunitas yang lebih besar yang membaca pertanyaan di sana. Terima kasih!

Saya pikir ini terkait dengan batas ukuran grafik. menggunakan constant_initializer menyematkan GLOVE_MATRIX ke dalam grafik yang meningkatkan ukuran grafik.
Bisakah Anda mencoba menggunakan penginisialisasi tidak konstan?

sepertinya ada cara yang tepat untuk menginisialisasi variabel dengan embeddings adalah dengan menggunakan tf.train.Scafffold . Berikut adalah informasi lebih lanjut mengenai ini di stackoverflow

Apakah halaman ini membantu?
0 / 5 - 0 peringkat