Cara Mengatasi Error pada TensorFlow Python (TypeError: Descriptors cannot be created directly.)

Halo guys! Kali ini kita akan membahas mengenai Cara Cara Mengatasi Error saat menjalankan TensorFlow di Python, yang bertuliskan "TypeError: Descriptors cannot be created directly.".

Sumber : Stackoverflow.com (Questions - 72441758)Stackoverflow.com (Questions - 72483283), dan Github.com (@huggingface | transformers/issues/21128)


Berikut ini adalah Pesan Error-nya :

TypeError: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

Rangkumannya :

TypeError: Descriptors cannot be created directly.
...
must be regenerated with protoc >= 3.19.0
...
Downgrade the protobuf package to 3.20.x or lower.

Penybabnya adalah TensorFlow tidak cocok dengan protobuf versi terbaru (>= 4.x.x atau 3.21+). Biasanya ini terjadi jika Anda install TensorFlow versi lama (misalnya TensorFlow 2.10 ke bawah) tapi sistem kamu install protobuf terbaru secara otomatis.

Berikut ini adalah beberapa Solusi agar tidak muncul lagi Error pada TensorFlow di atas.

1. Downgrade Protobuf ke Versi yang Kompatibel

Pertama, bukalah Anaconda Prompt, carilah "anaconda_prompt" dan klik "Launch".

Lalu ketiklah Perintah berikut ini untuk melakukan Downgrade Protobuf ke versi 3.20.x (Direkomendasikan) :

pip install protobuf==3.20.*

2. Set Variabel Lingkungan untuk Menggunakan Implementasi Python

Jika Downgrade tidak memungkinkan (misalnya karena ada ketergantungan lain) di atas, Anda bisa mencoba solusi berikut ini.

Tambahkan Variabel Lingkungan (Environment Variable) kalian dengan mengetik Perintah ini di Terminal :

export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python

Untuk Windows (Command Prompt) :

set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python

3. Upgrade TensorFlow ke Versi yang cocok dengan Protobuf terbaru

Anda juga bisa melakukan hal ini dengan cara meng-Upgrade Versi TensorFlow yang cocok dengan Protobuf terbaru dengan menjalankan :

pip install --upgrade tensorflow

Atau :

pip install --upgrade ray tensorflow

4. Regenerasi File Protobuf (_pb2.py)

Jika Anda menggunakan file protobuf (_pb2.py) yang sudah ada, pastikan mereka dihasilkan menggunakan versi protoc yang sesuai (>= 3.19.0). Jika Anda memiliki file .proto, gunakan protoc untuk menghasilkan ulang file .py.

Instal Protobuf Compiler :

pip install protobuf

Regenerasi File dengan Perintah :

protoc --python_out=. <file>.proto

A

5. Periksa Versi Protobuf

Ketiklah Perintah berikut ini untuk memeriksa Versi dari Protobuf saat ini :

pip show protobuf



Agar lebih jelasnya, silakan Tonton beberapa Video ini di YouTube :



Mohon maaf apabila ada kesalahan sedikit pun pada Tutorial ini.

Terima Kasih 😀😊😘👌👍 :)

Post a Comment

Previous Post Next Post