Tensorflow là một thư viện mã nguồn mở được tạo bởi nhóm Google Brain, TensorFlow kết hợp với ngôn ngữ lập trình mã nguồn mở Python để hỗ trợ kèo cá cược bóng đá hôm nay nhà nghiên cứu tính toán trong lĩnh vực Machine learning dễ dàng và nhanh hơn.
Tensorflow có nhiều khái niệm phức tạp, trong phạm vi bài viết này chỉ giới thiệu kèo cá cược bóng đá hôm nay khái niệm quan trọng nhất trong Tensorflow ở mức cơ bản.
1. Node
Tensorflow mô tả lại dòng chảy của dữ liệu thông qua graph nên mỗi một điểm giao cắt trong graph thì được gọi là Node. Tại sao điều này quan trọng thì là vì kèo cá cược bóng đá hôm nay Node chính là điểm đại diện cho việc thay đổi của dữ liệu nên việc lưu trữ lại tham chiếu của kèo cá cược bóng đá hôm nay Node này là rất quan trọng.
2. kèo cá cược bóng đá hôm nay
Tensor là cấu trúc dữ liệu trong tensorflow đại diện cho tất cả kèo cá cược bóng đá hôm nay loại dữ liệu. Nói cách khác, tất cả kèo cá cược bóng đá hôm nay kiểu dữ liệu khi đưa vào trong tensorflow thì đều được gọi là Tensor. Vậy nên có thể hiểu được Tensorflow là một thư viện mô tả, điều chỉnh dòng chảy của kèo cá cược bóng đá hôm nay Tensor. Tensor có 3 thuộc tính cơ bản là rank, shape và type.
Tensor là một kiểu dữ liệu dạng mảng có nhiều chiều được mô tả dạng Tensor = [[[1,1,1],[178,62,74]],[[45,2,2],[19,0,17]],[[7,5,2],[0,11,4]],[[8,13,5],[1,6,7]]]. Mảng nhiều chiều này được đính kèm thêm một vài thuộc tính tham chiếu khác. kèo cá cược bóng đá hôm nay thuộc tính của Tensor được mô tả trong tài liệu bao gồm:
- device: Tên của thiết bị mà kèo cá cược bóng đá hôm nay hiện tại sẽ được xuất bản. Có thể None.
- graph: Đồ thị chứa kèo cá cược bóng đá hôm nay hiện tại.
- name: Tên của kèo cá cược bóng đá hôm nay hiện tại.
- shape: Trả về TensorShape mô tả lại Shape của kèo cá cược bóng đá hôm nay hiện tại.
- op: OperationToán tử / Phép toán được sử dụng để xuất bản kèo cá cược bóng đá hôm nay hiện tại.
- dtype: Kiểu của kèo cá cược bóng đá hôm nay elementsPhần tử trong Tensor hiện tại.
3. Rank
Rank là số bậc của tensor. Ví dụ Tensor = [1] thì có rank = 1, Tensor = [[3,4],[5,6]] thì sẽ có rank = 2. Việc phân rank này khá quan trọng vì nó đồng thời cũng giúp phân loại dữ liệu của Tensor. Khi kèo cá cược bóng đá hôm nay rank đặc biệt cụ thể, Tensor có những tên gọi riêng như sau:
Scalar: Khi kèo cá cược bóng đá hôm nay có rank bằng 0
Vector: Vector là một kèo cá cược bóng đá hôm nay rank 1. .
Matrix: Đây là một kèo cá cược bóng đá hôm nay rank 2 hay mảng hai chiều theo khái niệm của Python
N-kèo cá cược bóng đá hôm nay: Khi rank của kèo cá cược bóng đá hôm nay tăng lên lớn hơn 2, chúng được gọi chung là N-kèo cá cược bóng đá hôm nay.
4. Shape
Shape là chiều của kèo cá cược bóng đá hôm nay. Vi dụ kèo cá cược bóng đá hôm nay = [[[1,1,1],[178,62,74]]] sẽ có Shape = (1,2,3), kèo cá cược bóng đá hôm nay = [[1,1,1],[178,62,74]] sẽ có Shape = (2,3).
5. Type
Type kiểu dữ liệu của kèo cá cược bóng đá hôm nay elements trong Tensor. Vì một Tensor chỉ có duy nhất một thuộc tính Type nên từ đó cũng suy ra là chỉ có duy nhất một kiểu Type duy nhất cho toàn bộ kèo cá cược bóng đá hôm nay elements có trong Tensor hiện tại.
6. Tạo chương trình Tensorflow đơn giản
Một chương trình Tensorflow được chia thành hai phần chính. Phần thứ nhất là xây dựng mô hình tính toán (được gọi là construction phase), phần thứ hai là chạy mô hình vừa mới xây dựng (được gọi là execution phase). Bây giờ mình sẽ hướng dẫn viết chương trình tính hàm f(x,y) kèo cá cược bóng đá hôm nay hình 9.1.
Import Tensorflow
Để Tensorflow hoạt động kèo cá cược bóng đá hôm nay python, chúng ta cần phải import import tensorflow as tf
Xây dựng graph
Đầu vào để tính hàm f gồm 3 node trong đó node x và node y là kèo cá cược bóng đá hôm nay biến số còn 2 là hằng số. Bây giờ ta sẽ tạo 3 node này.
x = tf.Variable(3, name="x")
y = tf.Variable(4, name="y")
f = x*x*y + y + 2
hoặc có thể tạo như sau
x = tf.Variable(3, name="x")
y = tf.Variable(4, name="y")
z = tf.constant(2)
f = x*x*y + y + z
f cũng có thể tạo bằng cách
f = tf.add(tf.add(tf.multiply(tf.multiply(x,x), y), y), 2)
7. Chạy mô hình vừa xây dựng
Thực tế kèo cá cược bóng đá hôm nay câu lệnh trên không thực thi bất kì một phép tính nào mặc dù nó chứa kèo cá cược bóng đá hôm nay phép toán. Thậm chí kèo cá cược bóng đá hôm nay biến x, y cũng không được khởi tạo bởi 2 giá trị 3 và 4. Để chạy mô hình này ta cần phải mở một sesion và dùng nó để thiết lập giá trị cho 2 biến x, y và tính toán hàm f (biến z không cần thiết lập vì dùng tf.constant thì nó đã được gán giá trị là hằng số rồi).
sess = tf.Session()
sess.run(x.initializer)
sess.run(y.initializer)
result = sess.run(f)
print(result) #42
sess.close()
Thay vì sess.run() cho tất cả kèo cá cược bóng đá hôm nay node, ta có thể dùng cách sau
with tf.Session() as sess:
x.initializer.run()
y.initializer.run()
result = f.eval()
print(result)
Hàm f ở đây chỉ có 2 biến là x và y nên ta có thể khởi tạo từng biến một nhưng trong mạng neural network có hàng nghìn, hàng triệu biến thì chẳng nhẽ ta phải ngồi code hàng nghìn dòng khởi tạo biến hay sao? Câu trả lời là không. Thay vì khởi tạo từng biến, ta dùng hàm global_variables_initializer() để khởi tạo tất cả kèo cá cược bóng đá hôm nay biến
init = tf.global_variables_initializer()
with tf.Session() as sess:
init.run()
result = f.eval()
8. Kết luận
Bài viết trình bài một số khái niệm cơ bản nhất kèo cá cược bóng đá hôm nay, đồng thời cài đặt và thử nghiệm một số ví dụ đơn giản, hy vọng bạn đọc sinh viên có thể tự nghiên cứu về Tensorflow để thử nghiệm với những tính toán phức tạp hơn.
TÀI LIỆU THAM KHẢO
1. https://www.tensorflow.org/
2. https://www.infoworld.com/article/3278008/what-is-tensorflow-the-machine-learning-library-explained.html
3. Matthew Scarpino,TensorFlow for dummies, 2018