Tìm hiểu TensorFlow: vectơ


Hồ Điệp Hạ
1 năm trước
Hữu ích 3 Chia sẻ Viết bình luận 0
Đã xem 8765

Kéo căng

TensorFlow là một thư viện mã nguồn mở được phát triển bởi nhóm Google Brain và nó được phát hành vào tháng 11 năm 2015. Trước khi làm việc với TensorFlow, chúng ta cần hiểu các khái niệm cơ bản sau:

  • Đồ thị : Bố cục của quá trình học tập. Nó không bao gồm dữ liệu.
  • Dữ liệu : Ví dụ được sử dụng để đào tạo. Nó có hai loại, đó là đầu vào và mục tiêu.
  • Phiên : Nơi chúng tôi cung cấp biểu đồ với dữ liệu hoặc Phiên = Biểu đồ + Dữ liệu . Chúng ta có thể làm điều này bằng cách sử dụng trình giữ chỗ - cổng để giới thiệu các ví dụ.

Chúng ta có thể cài đặt  Anaconda để sử dụng TensorFlow.

Vectơ

Trong Machine Learning, vectơ có thể được sử dụng như một cách tốt để biểu diễn dữ liệu số. Khi sử dụng vectơ, chúng ta có thể đáp ứng các thao tác cơ bản sau:

  • Thêm hai vectơ
  • Trừ hai vectơ
  • Tương tác một vectơ với vô hướng (nghĩa là một số)
  • Norm (nghĩa là độ lớn hoặc chiều dài của vectơ)
  • Sản phẩm chấm của hai vectơ

Các hoạt động trên vectơ có thể được thực hiện bằng cách sử dụng các hàm từ thư viện TensorFlow, nhưng trước khi sử dụng thư viện này, chúng ta phải:

import tensorflow as tf

Bước tiếp theo là tạo biểu đồ:

#####GRAPH

vec_1 = tf.placeholder(tf.float32)

vec_2 = tf.placeholder(tf.float32)

scalar = tf.placeholder(tf.float32)

vector_add = tf.add(vec_1,vec_2)

vector_subtract = tf.subtract(vec_1,vec_2)

scalar_multiply = tf.multiply(scalar,vec_1)

norm = tf.norm(vec_1)

dot = tf.tensordot(vec_1, vec_2, 1)

Chúng ta có thể cung cấp biểu đồ với dữ liệu thông qua phiên. Dữ liệu có thể được khai báo dưới dạng danh sách các số:

#############DATA

v = [1,2]

w = [2,3]

c = 3

Phiên có thể được tạo:

##########SESSION

with tf.Session() as sess:

       result_add = sess.run(vector_add, feed_dict={vec_1:v,vec_2:w})

       result_sub = sess.run(vector_subtract, feed_dict={vec_1:v,vec_2:w})

       result_mul = sess.run(scalar_multiply, feed_dict={scalar:c,vec_1:v})

       result_norm = sess.run(norm , feed_dict={vec_1:v})

       result_dot = sess.run(dot, feed_dict={vec_1:v,vec_2:w})

Cuối cùng, chúng ta có thể tạo một số kết quả đầu ra:

###########OUTPUT
print(result_add.tolist())
print(result_sub.tolist())
print(result_mul.tolist())
print(result_norm)
print(result_dot)

Kết quả có thể trông như thế này:

[3.0, 5.0]
[-1.0, -1.0]
[3.0, 6.0]
2.236068
8.0

Phần kết luận

Bắt đầu từ những điều đơn giản nhất là một trong những cách tốt nhất để học TensorFlow. Thông qua các thao tác trên vectơ, tôi hy vọng bạn (và cả tôi) - những người mới bắt đầu sử dụng TensorFlow - sẽ hiểu cách sử dụng TensorFlow trước khi sử dụng nó cho các nhiệm vụ phức tạp hơn trong tương lai.  

Hữu ích 3 Chia sẻ Viết bình luận 0
Đã xem 8765