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

TensorFlow จะใช้ในการฝึกโมเดลเชิงเส้นโดยใช้ Python ได้อย่างไร


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

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

pip install tensorflow

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

อันดับ - มันบอกเกี่ยวกับมิติของเทนเซอร์ สามารถเข้าใจได้ว่าเป็นลำดับของเทนเซอร์หรือจำนวนมิติในเทนเซอร์ที่กำหนดไว้

Type - มันบอกเกี่ยวกับประเภทข้อมูลที่เกี่ยวข้องกับองค์ประกอบของเทนเซอร์ อาจเป็นเทนเซอร์หนึ่งมิติ สองมิติ หรือ n มิติก็ได้

รูปร่าง - เป็นจำนวนแถวและคอลัมน์ร่วมกัน

เราจะใช้ Jupyter Notebook เพื่อรันโค้ด สามารถติดตั้ง TensorFlow บน Jupyter Notebook ได้โดยใช้ 'pip ติดตั้ง tensorflow'

TensorFlow จะใช้ในการฝึกโมเดลเชิงเส้นโดยใช้ Python ได้อย่างไร

ต่อไปนี้เป็นรหัส -

ตัวอย่าง

import tensorflow as tf

A = tf.get_variable("A", initializer=tf.constant([0.1]))
b = tf.get_variable("b", initializer=tf.constant([0.0]))

x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)

my_model = A * x + b

lossVal = tf.reduce_sum(tf.square(my_model − y))

my_optimizer = tf.train.GradientDescentOptimizer(0.01)
train = my_optimizer.minimize(lossVal)

x_train = [1.0, 2.5, 3.8, 4.9]
y_train = [1.7, 3.0, 6.6, 6.8]

with tf.Session() as sess:
   sess.run(tf.global_variables_initializer())
   for i in range(1000):
      sess.run(train, {x:x_train, y:y_train})
      if i%100==0:
         l_cost = sess.run(lossVal, {x:x_train, y:y_train})
         print(f"i: {i} cost: {l_cost}")
   l_A, l_b, l_cost = sess.run([A, b, lossVal], {x:x_train, y:y_train})
   print(f"A: {l_A} b: {l_b} cost: {l_cost}")

ผลลัพธ์

i: 0 cost: 1.7808341979980469
i: 100 cost: 1.6947696208953857
i: 200 cost: 1.691591501235962
i: 300 cost: 1.6913959980010986
i: 400 cost: 1.6913844347000122
i: 500 cost: 1.6913840770721436
i: 600 cost: 1.6913843154907227
i: 700 cost: 1.691383719444275
i: 800 cost: 1.6913838386535645
i: 900 cost: 1.6913845539093018
A: [1.4599526] b: [0.07214472] cost: 1.6913845539093018

คำอธิบาย

  • นำเข้าแพ็คเกจที่จำเป็นและระบุนามแฝงเพื่อความสะดวกในการใช้งาน

  • มีการกำหนดตัวแปรชื่อ 'my_model' ซึ่งเก็บรูปแบบทั่วไปสำหรับโมเดลเชิงเส้น

  • โมเดลเชิงเส้นนี้ฝึกโดยใช้ "GradientDescentOptimizer"

  • การฝึกอบรมทำโดยการสูญเสียน้อยที่สุดซึ่งมั่นใจได้โดยใช้วิธี 'ลด'

  • มีการสร้างรายการสองรายการที่เก็บข้อมูลการฝึกอบรม

  • ข้อมูลนี้ได้รับการฝึกอบรม และค่าที่คาดการณ์ไว้จะแสดงบนคอนโซล