Skip to content
Home » [NEW] Tensorflow สำหรับผู้เริ่มต้นที่สมบูรณ์: เริ่มต้นใช้งาน Tensors | คน ใช่ ใน วงเล็บ – NATAVIGUIDES

[NEW] Tensorflow สำหรับผู้เริ่มต้นที่สมบูรณ์: เริ่มต้นใช้งาน Tensors | คน ใช่ ใน วงเล็บ – NATAVIGUIDES

คน ใช่ ใน วงเล็บ: คุณกำลังดูกระทู้

ภาพโดย Peggy und Marco Lachmann-Anke จาก Pixabay (Free to Use)

ปัจจุบัน Tensorflow เป็นคำที่แพร่หลายในโลกแห่งปัญญาประดิษฐ์ (AI) ที่น่าตื่นเต้นโดยเฉพาะอย่างยิ่งเมื่อ Deep Learning ยังคงเร่งความก้าวหน้าอย่างรวดเร็วใน AI แต่สำหรับคนที่เพิ่งเริ่มต้นด้วย Tensorflow ประสบการณ์อาจน่ากลัวและน่ากลัวเนื่องจากคำศัพท์และการใช้ห้องสมุดที่สวยงามอาจสร้างความสับสนให้กับผู้เริ่มต้นที่สมบูรณ์ เมื่อฉันเริ่มเรียนรู้ Tensorflow ครั้งแรกฉันต้องเผชิญกับความท้าทายที่คล้ายคลึงกันและหวังว่าจะทำให้ความซับซ้อนบางอย่างง่ายขึ้นผ่านบทความนี้ บทความนี้ต้องการความเข้าใจพื้นฐานเกี่ยวกับ Python เพื่อให้ได้ภาพที่ชัดเจนยิ่งขึ้นของ Tensorflow

Tensorflow ทำงานอย่างไร?

วิธีพื้นฐาน (และง่ายที่สุด) ในการอธิบาย Tensorflow คือมันเป็นไลบรารีที่ยอดเยี่ยมใน Python (และอาจเป็นภาษาโปรแกรมอื่น ๆ ด้วย) ซึ่งช่วยให้เราสร้างกราฟเชิงคำนวณเพื่อพัฒนาแบบจำลองเครือข่ายประสาทเทียม องค์ประกอบพื้นฐานที่ประกอบด้วยวัตถุ Tensorflow คือTensorและการคำนวณทั้งหมดที่ดำเนินการเกิดขึ้นใน Tensors เหล่านี้ ตามความเป็นจริง (ในคำพูดของฉัน) Tensors เหล่านี้ไหลอย่างเป็นระเบียบเมื่อคุณพัฒนาแบบจำลองเครือข่ายประสาทเทียมใด ๆ และก่อให้เกิดผลลัพธ์สุดท้ายเมื่อทำการประเมิน ใช่แล้วการเรียนรู้ว่าเทนเซอร์คืออะไรและเราจะใช้มันอย่างไรเป็นขั้นตอนแรกในการเริ่มต้นใช้งาน Tensorflow

Tensors คืออะไร?

เราทุกคนคุ้นเคยกับประเภทข้อมูลในการเขียนโปรแกรมใช่ไหม? 1, 2, 3ฯลฯ เป็นจำนวนเต็มตัวเลขที่มีจุดทศนิยม(1.5,3.141,5.2555 เป็นต้น)เป็นค่าทศนิยมและค่าทั่วไปอีกค่าหนึ่งคือสตริง (เช่น“ สวัสดีวันนี้เป็นอย่างไรบ้าง” ) เมื่อเรามีการเก็บรวบรวมหลายองค์ประกอบด้วยกันเราโดยทั่วไปคำนั้นเป็นรายการ (เช่น [1,4,7])

สามารถใช้ชุดของรายการเพื่อพัฒนาเมทริกซ์ / เมทริกซ์เช่นนี้:

[[1,4,7], [5,8,12], [1,66,88]]

ทีนี้มาที่ Tensors – โดยพื้นฐานแล้วมันเป็นการนำเสนอมิติที่สูงขึ้น / การสรุปทั่วไปของเมทริกซ์และเวกเตอร์แบบเดิม มันอาจเป็นเมทริกซ์ 1 มิติเมทริกซ์ 2 มิติเมทริกซ์ 4 มิติหรือเมทริกซ์ n มิติ! ดังนั้นเราจึงสามารถมีอาร์เรย์หลายมิตินอกเหนือจากรายการเดียวใน Tensor นั่นคือสิ่งที่เทนเซอร์มีความหมายพื้นฐานที่สุด เช่นเดียวกับที่เรากำหนดค่าตัวแปรในการเขียนโปรแกรมทั่วไปเราสามารถทำได้เช่นเดียวกันใน Tensorflow เพียงแค่ว่ามีวิธีทำเฉพาะ ในทำนองเดียวกันเช่นเดียวกับที่คุณสามารถดำเนินการหลายอย่างกับตัวแปรทั่วไป (หรือค่าคงที่) ในการเขียนโปรแกรมเราสามารถทำได้ด้วย Tensors เราสามารถแบ่งเทนเซอร์และเลือกส่วนขององค์ประกอบมีประเภทข้อมูลต่างๆสำหรับเทนเซอร์ (จำนวนเต็มจุดลอยตัวสตริง ฯลฯ ) และอื่น ๆ อีกมากมาย

เริ่มต้นใช้งาน Tensorflow ใน Python

ขั้นตอนแรกคือการติดตั้งไลบรารีที่สวยงาม! pipคือสิ่งที่คุณต้องการที่นี่ โปรดทราบว่าหากคุณใช้ Google Colab (ซึ่งคล้ายกับสมุดบันทึก Jupyter ใน Python มาก) คุณไม่จำเป็นต้องติดตั้งไลบรารีนี้เนื่องจากติดตั้งแล้วและพร้อมใช้งาน ขอบคุณ Google!

#Install the tensorflow module (not required in Google Colab, but is needed in your local PC)
!pip install tensorflow

ตอบสนองความต้องการแล้ว: tensorflow ใน /usr/local/lib/python3.6/dist-packages (2.3.0)

ปัจจุบัน Tensorflow มีเวอร์ชันเก่ากว่าประเภท 1.x ในขณะที่รุ่นล่าสุดใช้ 2.x ลองเลือกรุ่นเทนเซอร์โฟลว์ปัจจุบัน

#Here, we would go with the latest (2.x) release of tensorflow by selecting the version
#Note: By default, Colab tends to use the 2.x version
%tensorflow_version 2.x

#import the tensorflow module
import tensorflow as tf
#Display the tensorflow version we are using
print(tf.version)

ตอนนี้เรามาเริ่มสร้าง Tensors กันเลย เราจะสร้าง int, float และ string ที่นี่ สังเกตวิธีพิเศษในการสร้างเทนเซอร์โดยใช้แอตทริบิวต์tf.Variable ซึ่งหมายความว่าเรากำลังสร้าง Tensor ซึ่งจะเป็นลักษณะของตัวแปรดังนั้นเราจึงสามารถเปลี่ยน / แก้ไขค่าได้โดยดำเนินการเฉพาะเช่นเดียวกับที่เราทำในการเขียนโปรแกรมแบบเดิมที่มีตัวแปร โปรดทราบว่าแม้ว่าเราจะใช้int, float และ stringเพื่อประกาศตัวแปรที่เกี่ยวข้องสำหรับชนิดข้อมูลดังกล่าวในการเขียนโปรแกรมทั่วไปเราจะใช้tf.int16 (ซึ่งหมายความว่าเรากำลังกำหนดจำนวนเต็ม 16 บิต), tf.float32 (เพื่อกำหนด a ค่าทศนิยม 32 บิต) และtf.stringใน Tensorflow โปรดทราบว่าเราสามารถใช้tf.float16, tf.int32 และอื่น ๆ ได้โดยขึ้นอยู่กับข้อกำหนดสำหรับค่าที่เราต้องการจัดเก็บ หากคุณเคยใช้ C ++ คุณจะทราบถึงสิ่งต่างๆเช่นint, int สั้น, int ยาวยาว, float, doubleฯลฯ ที่ใช้เพื่อประกาศตัวแปรที่มีจำนวนบิตน้อยกว่า (หรือมากกว่า) ดังนั้นเราจึงทำสิ่งที่คล้ายกันที่นี่ใน Tensorflow

#The science (and art) of creating tensors
scalar_val = tf.Variable(123,tf.int16)
floating_val = tf.Variable(123.456,tf.float32)
string_val = tf.Variable(“hello everyone. Nice to learn tensorflow!”,tf.string)

#Let us display the values (print) these tensors
print(scalar_val)
print(floating_val)
print(string_val)

<tf.Variable ‘Variable: 0’ shape = () dtype = float32, numpy = 123.456> <tf.Variable ‘Variable: 0’ shape = () dtype = string, numpy = b’hello ทุกคน ยินดีที่ได้เรียนรู้เทนเซอร์โฟลว์! ‘>

เราสามารถกำหนดรูปร่างและอันดับของ Tensors ได้อย่างที่คุณอาจเคยได้ยินในโมดูลคณิตศาสตร์ที่โรงเรียน ถ้าไม่เช่นนั้นรูปร่างก็หมายถึงจำนวนขององค์ประกอบที่มีอยู่ในแต่ละมิติของเทนเซอร์ ในขณะที่อันดับเป็นระดับที่ลึกที่สุดของการทำรังภายใน Tensor การป้อนรหัสบางอย่างอาจทำให้ชัดเจนยิ่งขึ้น

#The idea behind shape and rank of tensors
#Shape: Describes the dimension of the tensor (total elements contained along each dimension)
scalar_val_shap = tf.shape(scalar_val)
print(scalar_val_shap)
floating_val_shap = tf.shape(floating_val)
print(floating_val_shap)

tf.Tensor ([], รูปร่าง = (0,), dtype = int32)

เราได้รูปร่างเป็น 0 ใช่ไหม? หมายความว่าค่าเหล่านี้เป็นค่าสเกลาร์แทนที่จะเป็นรายการหรือรายการที่ซ้อนกัน

#Now, if we use e.g. lists/nested lists instead of just a “single” scalar value
list_tensor1 = tf.Variable([1,3,5,6],tf.int16)
print(list_tensor1)
print(tf.shape(list_tensor1))
list_tensor2 = tf.Variable([[1,2,3],[4,5,6]],tf.int16)
print(list_tensor2)
print(tf.shape(list_tensor2))
#how about the rank? It describes the level of nesting within the tensor in simple words.
print(tf.rank(list_tensor1))
print(tf.rank(list_tensor2))

<tf.Variable ‘Variable: 0’ shape = (4,) dtype = int32, numpy = array ([1, 3, 5, 6], dtype = int32)>

tf.Tensor ([4], รูปร่าง = (1,), dtype = int32)

<tf.Variable ‘Variable: 0’ shape = (2, 3) dtype = int32, numpy = array ([[1, 2, 3], [4, 5, 6]], dtype = int32)>

tf.Tensor ([2 3], รูปร่าง = (2,), dtype = int32)

tf.Tensor (1, รูปร่าง = (), dtype = int32)

tf.Tensor (2, รูปร่าง = (), dtype = int32)

ในทำนองเดียวกันถ้าคุณดูอันดับคุณจะเห็นอันดับ 1 สำหรับlist_tensor1เพียงเพราะเรามีเพียงรายการเดียวไม่มีการซ้อนที่นี่! ตอนนี้สำหรับlist_tensor2คุณจะเห็นอันดับ 2 ซึ่งบ่งบอกว่าเรามีการซ้อนระดับ 2 นั่นคือรายการใหญ่มีรายการเพิ่มเติม หากเป็นรายการใหญ่รายการหนึ่งมีรายการเล็ก ๆ อีกรายการหนึ่งและรายการเล็กนั้นมีรายการที่เล็กกว่านี้เราจะมีอันดับ 3 หวังว่านี่จะทำให้ชัดเจน

tf.Tensor (1, รูปร่าง = (), dtype = int32)

tf.Tensor (2, รูปร่าง = (), dtype = int32)

เราสามารถเปลี่ยนรูปร่างของเทนเซอร์ (แน่นอนจนกว่าจะถูกต้องทางคณิตศาสตร์) โดยใช้tf.reshape อีกครั้งโปรดสังเกตวิธีพิเศษในการดำเนินการนี้โดยใช้ Python

#Reshaping tensors
reshaped_list_tensor2 = tf.reshape(list_tensor2,[6])
print(reshaped_list_tensor2)
list_tensor3 = tf.Variable([[1,2,3,1],[1,9,10,11],[1,5,11,22],[16,17,18,19]],tf.int16)
print(list_tensor3)
print(tf.rank(list_tensor3))
print(tf.shape(list_tensor3))
reshaped_list_tensor3 = tf.reshape(list_tensor3,[2,8,1])
print(reshaped_list_tensor3)
#or like this
reshaped_list_tensor3 = tf.reshape(list_tensor3,[8,2,1])
print(reshaped_list_tensor3)
#or automatically determine the shape by only giving one dimension!
reshaped_list_tensor3 = tf.reshape(list_tensor3,[1,-1])
print(reshaped_list_tensor3)

tf.Tensor ([1 2 3 4 5 6], รูปร่าง = (6,), dtype = int32)

<tf.Variable ‘Variable: 0’ shape = (4, 4) dtype = int32, numpy = array ([[1, 2, 3, 1], [1, 9, 10, 11], [1, 5, 11, 22], [16, 17, 18, 19]], dtype = int32)>

tf.Tensor (2, รูปร่าง = (), dtype = int32)

tf.Tensor ([4 4], รูปร่าง = (2,), dtype = int32)

tf.Tensor ([[1] [2] [3] [1] [1] [9] [10] [11]] [[1] [5] [11] [22] [16] [17] [18] [19]]], รูปร่าง = (2, 8, 1), dtype = int32)

tf.Tensor ([[1] [2]] [[3] [1]] [[1] [9]] [[10] [11]] [[1] [5]] [[11] [ 22]] [[16] [17]] [[18] [19]]], รูปร่าง = (8, 2, 1), dtype = int32)

tf.Tensor ([[1 2 3 1 1 9 10 11 1 5 11 22 16 17 18 19]] รูปร่าง = (1, 16), dtype = int32)

คุณสามารถสร้าง Tensor ที่เต็มไปด้วย 1s (หรือ 0s) โดยใช้คำสั่งพิเศษtf.onesหรือtf.zeros จากนั้นการดำเนินการที่คล้ายกันก็สามารถทำได้เช่นกัน

ตอนนี้เรามาหั่น เช่นเดียวกับที่คุณสามารถแบ่งและแยกองค์ประกอบบางอย่างจากเมทริกซ์หรือรายการ Python คุณสามารถทำเช่นเดียวกันกับ Tensors ดูตัวอย่างด้านล่างซึ่งในขั้นแรกเราจะสร้างเทนเซอร์แบบ onefull (ชื่อของฉันสำหรับเทนเซอร์ที่เต็มไปด้วยค่า 1 เท่านั้น) และอีกค่าหนึ่งด้วยซีโรฟูล ขนาดของเทนเซอร์ที่คุณต้องการสร้างจะอยู่ภายในวงเล็บเหลี่ยม [] ดังนั้น [4,4,4,1] จึงสร้างเทนเซอร์ 4 มิติในขณะที่ [5,5] สร้างเทนเซอร์ 2 มิติโดยมี 5 แถวและ 5 คอลัมน์ (ซึ่งไม่ใช่อะไรนอกจากเมทริกซ์) ในความหมายที่ง่ายที่สุด

การดำเนินการหั่นบางส่วนแสดงไว้ด้านล่างสำหรับเทนเซอร์ที่สร้างขึ้น เพื่อให้คุณสามารถรับองค์ประกอบที่คุณชอบจากเทนเซอร์และไม่พิจารณาสิ่งที่คุณไม่ชอบ 🙂

#creating a tensor full of 1s (or 0s)
tensor_onefull = tf.ones([4,4,4,1])
print(tensor_onefull)
tensor_zerofull = tf.zeros([5,5])
print(tensor_zerofull)
#extracting specific values from tensors (similar to slicing in conventional programming)
tensor_sliced_onefull = tensor_onefull[0]
print(tensor_sliced_onefull)
tensor_sliced_zerofull = tensor_zerofull[0,1]
print(tensor_sliced_zerofull)

tf.Tensor ([[[1] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]]] [[[1. ] [1. ] [1. ] [1. ]] [[ 1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]]] [[[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [ 1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]]] [[[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]] ]], รูปร่าง = (4, 4, 4, 1), dtype = float32)

tf.Tensor ([[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. ]], รูปร่าง = (5, 5), dtype = float32)

tf.Tensor ([[[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]] [[1. ] [1. ] [1. ] [1. ]]], shape = (4, 4, 1), dtype = float32)

tf.Tensor (0.0, รูปร่าง = (), dtype = float32)

#another example from previously created tensor
print(list_tensor3)
tf_slicedexampleagain = list_tensor3[0,-2:]
print(tf_slicedexampleagain)
#selecting multiple rows
tf_slicedexampleagain = list_tensor3[1::]
print(tf_slicedexampleagain)

<tf.Variable ‘Variable: 0’ shape = (4, 4) dtype = int32, numpy = array ([[1, 2, 3, 1], [1, 9, 10, 11], [1, 5, 11, 22], [16, 17, 18, 19]], dtype = int32)>

tf.Tensor ([3 1], รูปร่าง = (2,), dtype = int32)

tf.Tensor ([[1 9 10 11] [1 5 11 22] [16 17 18 19]], รูปร่าง = (3, 4), dtype = int32)

คุณสามารถค้นหาสมุดบันทึก Colab ฉบับสมบูรณ์สำหรับบทความนี้ได้ที่ Github ของฉัน https://github.com/joyjitchatterjee/DeepLearning-Tensorflow-Basics/blob/master/Tensorflow_Beginning.ipynb.

และนั่นแหล่ะ หวังว่าคุณจะสนุกกับการอ่านบทความนี้ ขอบคุณสำหรับการอ่านและขออภัยสำหรับการพิมพ์ผิด / ข้อบกพร่องหากมี ฉันหวังว่าจะครอบคลุมมากขึ้นเกี่ยวกับ Tensorflow ในโพสต์ถัดไปของฉัน

หากคุณต้องการคุณสามารถเชื่อมต่อกับฉันบน LinkedIn ได้ที่ http://linkedin.com/in/joyjitchatterjee/

ข้อมูลอ้างอิง

  1. เอกสาร Tensorflow (https://www.tensorflow.org/guide)
  2. TensorFlow 2.0 Complete Course – Python Neural Networks for Beginners Tutorial (https://www.youtube.com/watch?v=tPYj3fFJGjk&list=PLYLyA78Q4izuAlaaOER3qwUZkqLTZf7qk)
  3. เริ่มต้นกับ TensorFlow และ Deep Learning ( https://medium.com/@rishit.dagli/get-started-with-tensorflow-and-deep-learning-part-1-72c7d67f99fc )

[NEW] Brackets และ Parentheses เครื่องหมายวงเล็บในภาษาอังกฤษ | คน ใช่ ใน วงเล็บ – NATAVIGUIDES

ความแตกต่างระหว่าง ‘bracket’ และ ‘parentheses’ อาจทำให้ผู้ใช้เกิดความสับสนเล็กน้อย (ซึ่งทั้ง 2 คำนี้ภาษาไทยใช้คำว่า วงเล็บ) โดยทั่วไปแล้ว ‘parentheses’ หมายถึง วงเล็บรูปโค้งแบบที่เราคุ้นเคยกันดี คือ ( ) แต่อย่างไรก็ดี ในปัจจุบันนี้คนนิยมใช้ ‘วงเล็บรูปโค้ง’ หรือ ‘วงเล็บรูปสี่เหลี่ยม’ มากขึ้นเรื่อยๆ 

เครื่องหมายวงเล็บ ( ) ใช้ในกรณีต่อไปน้ี เพื่อให้คำอธิบายหรือข้อความเสริม 

ในขณะที่เราใช้วงเล็บรูปโค้ง -( )-  เมื่อเราต้องการเพิ่มข้อมูลหรือความคิดเห็นเพิ่มเติม หรือเพื่อเพิ่มความคิดเห็นอื่น ๆ ที่สนับสนุนแนวคิดหลักของเราแต่ในแง่มุมที่ต่างออกไป มีหลักการใช้เหมือนกับการใช้เครื่องหมาย comma ผู้เชี่ยวชาญด้านไวยากรณ์ภาษาอังกฤษหลายคนรู้สึกว่า สามารถใช้เครื่องหมาย comma แทนการใส่วงเล็บได้เกือบทุกกรณี

ตัวอย่างเช่น

The government’s education report (April 2005) shows that the level of literacy is rising in nearly all areas.

I visited Kathmandu (which was full of tourists) on my way to the Himalayas for a trekking expedition.

You can eat almost anything while travelling in Asia if you are careful to observe simple rules (avoiding unboiled or unbottled water is one of the main rules to be aware of.)

Thailand (formerly Siam) welcomes all visitors. She is (and has always been) highly intelligent. They studied crustaceans (shell-fish). 

เพื่อให้ข้อมูลวันที่และการอ้างอิง

John Brown (1880-1899) Crustacea (see Chapter 32)

เพื่อแสดงคำที่ไม่บังคับ (optional words) กล่าวคือสามารถเลือกว่าจะใช้หรือไม่ใช้ก็ได้

The minister considered the (real) difficulties of land allocation.

ในขณะที่ ‘brackets’ หมายถึง วงเล็บที่เป็นเส้นตรง คือ [ ] มักใช้เพื่อให้ข้อมูลเพิ่มเติมหรือให้คำอธิบายซึ่งไม่ได้มีอยู่ในต้นฉบับ โดยทั่วไปแล้ว เราใช้วงเล็บรูปสี่เหลี่ยม -[ ]- ในวัตถุประสงค์พิเศษ เช่น ในคู่มือทางเทคนิค เป็นต้น 

We have arranged a visit for you to meet with our University’s President [Associate Professor Dr Pranee Sungkatavat].

The [Dutch] East India Company has made a big investment in Thailand.


คนใช่ในวงเล็บ.อรวี.สัจจานนท์


นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูความรู้เพิ่มเติมที่นี่

คนใช่ในวงเล็บ.อรวี.สัจจานนท์

คนใช่ในวงเล็บ – อรวี สัจจานนท์ 【OFFICIAL MV】


เพลง : คนใช่ในวงเล็บ
ศิลปิน : อรวี สัจจานนท์
อัลบั้ม : ชุดที่ 1 (คนใช่ในวงเล็บ)
Digital Download : 123 1008096 3
KKBOX : http://kkbox.fm/Bc381E
คุณจะไม่พลาดการติดตาม \”Music Video\” ใหม่ๆ และกิจกรรมความเคลื่อนไหวจาก \”แกรมมี่ โกลด์\” ได้ก่อนใคร ที่ YouTube Channel ของ \”GMM GRAMMY GOLD\” กดเลย!!!
วันนี้คุณสามารถติดตามชมมิวสิควีดีโอและคว­­ามเคลื่อนไหวทุกศิลปินจาก แกรมมี่ โกลด์ ที่คุณชอบได้อย่างจุใจก่อนใครที่ช่อง แฟนทีวี ทางกล่อง GMM Z เคเบิลทีวีไทยทั่วประเทศหรือดาวน์โหลดแอพล­­ิเคชั่น GMM Z เพื่อรับชมได้ทุกที่ทุกเวลาที่คุณต้องการ ได้ฟรีผ่าน iTunes และ Google Play
ติดต่องานแสดงศิลปิน แกรมมี่ โกลด์ โทร.026699159
ติดตามอัพเดทผลงานศิลปินค่ายแกรมมี่ โกลด์ ได้ที่
https://www.facebook.com/prgrammy.gold
https://www.facebook.com/GrammyGoldFAN

คนใช่ในวงเล็บ - อรวี สัจจานนท์ 【OFFICIAL MV】

กระทงหลงทาง – อรวี สัจจานนท์ 【OFFICIAL MV】


เพลง : กระทงหลงทาง
ศิลปิน : อรวี สัจจานนท์
อัลบั้ม : อรวี ขวัญเมือง 1
Digital Download : 123 1001287 3
คุณจะไม่พลาดการติดตาม Music Video ใหม่ๆ และกิจกรรมความเคลื่อนไหวจาก แกรมมี่ โกลด์ ได้ก่อนใคร ที่ YouTube Channel ของ GMM GRAMMY GOLD กดเลย!!!
วันนี้คุณสามารถติดตามชมมิวสิควีดีโอและความเคลื่อนไหวทุกศิลปินจาก แกรมมี่ โกลด์ ที่คุณชอบได้อย่างจุใจก่อนใครที่ช่อง แฟนทีวี ทางกล่อง GMM Z เคเบิลทีวีไทยทั่วประเทศหรือดาวน์โหลดแอพลิเคชั่น GMM CHANNEL เพื่อรับชมได้ทุกที่ทุกเวลาที่คุณต้องการ
ได้ฟรีผ่าน iTunes และ Google Play
ติดต่องานแสดงศิลปิน แกรมมี่ โกลด์ โทร.026699159
ติดตามอัพเดทผลงานศิลปินค่ายแกรมมี่ โกลด์ ได้ที่
https://www.facebook.com/prgrammy.gold
https://www.facebook.com/GrammyGoldFAN
https://www.facebook.com/gmmgrammyofficial
http://www.gmmgrammyofficial.blogspot.com
https://www.youtube.com/gmmgrammyofficia

กระทงหลงทาง - อรวี สัจจานนท์ 【OFFICIAL MV】

คนที่ใช่ในวงเล็บ_อรวี สัจจานนท์


4k___60fps
https://www.facebook.com/279791419324361/posts/606871276616372/

คนที่ใช่ในวงเล็บ_อรวี สัจจานนท์

คนใช่ในวงเล็บ – อรวี สัจจานนท์ 【4K】60FPS.@Rung Areewong


อรวีสัจจานนท์ คนใช่ในวงเล็บ
เพลง : คนใช่ในวงเล็บ
ศิลปิน : อรวี สัจจานนท์
อั้ลบั้ม : ชุดที่1 (คนใช่ในวงเล็บ)
เครดิต : https://youtu.be/SPOgsePTHA8
@Rung Areewong
เนื้อเพลง : คนใช่ในวงเล็บ
พบคนดีในวันที่สาย จึงต้องมีวงเล็บใจ
ครอบไว้ห้ามใจแทรกซ้อน
พี่เป็นคนใช่ เสียดายที่เขาเจอก่อน
ทางใจจึงถูกตัดตอน ก่อนที่จะได้สบตา
ภาพในใจผู้ชายที่รอ
พี่สอบผ่านเกณฑ์ทุกข้อ หากใจไม่โดนตรีตรา
งานพาชิดใกล้ แต่ใจต้องล็อควันลา
ไม่อาจตามใจสายตา เมื่อยามที่เจอหน้ากัน
จดชื่อในใจต้องวงเล็บต่อท้ายแฟนเขา
เพื่อให้สะกิดใจเหงา อย่าก้าวข้ามเกินแนวกั้น
เบอร์โทรที่ให้ติดต่อได้เฉพาะเรื่องงาน
น้องไม่ใช่เธอคนที่บ้าน สื่อสารเรื่องใจไม่ดี
ได้ใกล้พี่เท่านี้ที่ขอ ยึดเป็นต้นแบบใจรอ
รอใครสักคนถ้ามี สำหรับคนที่ใช่ แต่เลือกไม่ได้คนนี้
เก็บความรู้สึกดีดี ใส่วงเล็บในใจก็พอ (ซ้ำ )

คนใช่ในวงเล็บ - อรวี สัจจานนท์ 【4K】60FPS.@Rung Areewong

นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูบทความเพิ่มเติมในหมวดหมู่LEARN FOREIGN LANGUAGE

ขอบคุณมากสำหรับการดูหัวข้อโพสต์ คน ใช่ ใน วงเล็บ

Leave a Reply

Your email address will not be published. Required fields are marked *