Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Tensorflow สามารถใช้เพื่อสร้างข้อมูลข้อความที่เกี่ยวข้องกับชุดข้อมูลคำถาม stackoverflow โดยใช้ Python ได้อย่างไร


Tensorflow คือเฟรมเวิร์กแมชชีนเลิร์นนิงที่ให้บริการโดย Google เป็นเฟรมเวิร์กโอเพนซอร์สที่ใช้ร่วมกับ Python เพื่อใช้อัลกอริทึม แอปพลิเคชันการเรียนรู้เชิงลึก และอื่นๆ อีกมากมาย ใช้ในการวิจัยและเพื่อการผลิต มีเทคนิคการเพิ่มประสิทธิภาพที่ช่วยในการดำเนินการทางคณิตศาสตร์ที่ซับซ้อนได้อย่างรวดเร็ว

เนื่องจากใช้ NumPy และอาร์เรย์หลายมิติ อาร์เรย์หลายมิติเหล่านี้เรียกอีกอย่างว่า 'เทนเซอร์' เฟรมเวิร์กรองรับการทำงานกับโครงข่ายประสาทเทียมระดับลึก สามารถปรับขนาดได้สูงและมาพร้อมกับชุดข้อมูลยอดนิยมมากมาย ใช้การคำนวณ GPU และจัดการทรัพยากรโดยอัตโนมัติ มันมาพร้อมกับไลบรารีการเรียนรู้ของเครื่องจำนวนมากและได้รับการสนับสนุนและจัดทำเป็นเอกสารอย่างดี เฟรมเวิร์กมีความสามารถในการใช้งานโมเดล Deep Neural Network ฝึกอบรม และสร้างแอปพลิเคชันที่คาดการณ์ลักษณะที่เกี่ยวข้องของชุดข้อมูลที่เกี่ยวข้อง

แพ็คเกจ 'tensorflow' สามารถติดตั้งบน Windows ได้โดยใช้บรรทัดโค้ดด้านล่าง -

pip install tensorflow

Tensor เป็นโครงสร้างข้อมูลที่ใช้ใน TensorFlow ช่วยเชื่อมต่อขอบในแผนภาพการไหล แผนภาพการไหลนี้เรียกว่า 'กราฟการไหลของข้อมูล' เทนเซอร์เป็นเพียงอาร์เรย์หลายมิติหรือรายการ

เรากำลังใช้ Google Colaboratory เพื่อเรียกใช้โค้ดด้านล่าง Google Colab หรือ Colaboratory ช่วยเรียกใช้โค้ด Python บนเบราว์เซอร์และไม่ต้องมีการกำหนดค่าใดๆ และเข้าถึง GPU ได้ฟรี (หน่วยประมวลผลกราฟิก) Colaboratory ถูกสร้างขึ้นบน Jupyter Notebook

ตัวอย่าง

ต่อไปนี้เป็นข้อมูลโค้ดสำหรับแปลงข้อมูลข้อความให้เป็นภาพเวกเตอร์ -

print("The vectorize function is defined")
def int_vectorize_text(text, label):
   text = tf.expand_dims(text, -1)
   return int_vectorize_layer(text), label
print(" A batch of the dataset is retrieved")
text_batch, label_batch = next(iter(raw_train_ds))
first_question, first_label = text_batch[0], label_batch[0]
print("Question is : ", first_question)
print("Label is : ", first_label)

print("'binary' vectorized question is :",
   binary_vectorize_text(first_question, first_label)[0])
print("'int' vectorized question is :",

   int_vectorize_text(first_question, first_label)[0])

เครดิตโค้ด – https://www.tensorflow.org/tutorials/load_data/text

ผลลัพธ์

The vectorize function is defined
A batch of the dataset is retrieved
Question is : tf.Tensor(b'"function expected error in blank for dynamically created check box
when it is clicked i want to grab the attribute value.it is working in ie 8,9,10 but not working in ie
11,chrome shows function expected error..<input type=checkbox checked=\'checked\'
id=\'symptomfailurecodeid\' tabindex=\'54\' style=\'cursor:pointer;\' onclick=chkclickevt(this);
failurecodeid=""1"" >...function chkclickevt(obj) { .
alert(obj.attributes(""failurecodeid""));.}"\n', shape=(), dtype=string)
Label is : tf.Tensor(2, shape=(), dtype=int32)
'binary' vectorized question is : tf.Tensor([[1. 1. 1. ... 0. 0. 0.]], shape=(1, 10000), dtype=float32)
'int' vectorized question is : tf.Tensor(
[[ 37 464 65 7  16 12 879 262 181 448 44 10 6  700
   3  46  4 2085 2 473 1   6  156  7  478 1 25 20
  156 7  478 1  499 37 464 1 1846 1666 1  1  1  1
   1  1   1  1    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0]], shape=(1, 250), dtype=int64)

คำอธิบาย

  • โหมดไบนารีจะส่งคืนอาร์เรย์ที่ระบุถึงการมีอยู่ของโทเค็น

  • ในโหมด int ทุกโทเค็นจะถูกแทนที่ด้วยจำนวนเต็ม

  • ด้วยวิธีนี้ คำสั่งจะถูกเก็บรักษาไว้

  • มีการกำหนดฟังก์ชัน vectorize

  • ตัวอย่างของข้อมูลถูกแปลงเป็นเวกเตอร์และโหมด 'ไบนารี' และ 'int' ของเวกเตอร์จะแสดงบนคอนโซล

  • สามารถค้นหาสตริงโดยใช้เมธอด 'get_vocabulary' ในเลเยอร์เฉพาะนั้นได้