TensorFlow là gì? Tìm hiểu về TensoFlow từ A đến Z

48378

Tensorflow là gì – Với sự bùng nổ của lĩnh vực Trí Tuệ Nhân Tạo – A.I. trong thập kỷ vừa qua, machine learning và deep learning rõ ràng cũng phát triển theo cùng. Và ở thời điểm hiện tại, TensorFlow chính là thư viện mã nguồn mở cho machine learning nổi tiếng nhất thế giới, được phát triển bởi các nhà nghiên cứu từ Google. Việc hỗ trợ mạnh mẽ các phép toán học để tính toán trong machine learning và deep learning đã giúp việc tiếp cận các bài toán trở nên đơn giản, nhanh chóng và tiện lợi hơn nhiều. 

Các hàm được dựng sẵn trong thư viện cho từng bài toán cho phép TensorFlow xây dựng được nhiều neural network. Nó còn cho phép bạn tính toán song song trên nhiều máy tính khác nhau, thậm chí trên nhiều CPU, GPU trong cùng 1 máy hay tạo ra các dataflow graph – đồ thị luồng dữ liệu để dựng nên các model. Nếu bạn muốn chọn con đường sự nghiệp trong lĩnh vực A.I. này, nắm rõ những điều cơ bản của TensorFlow thực sự rất quan trọng.

Được viết bằng C++ và thao tác interface bằng Python nên phần performance của TensorFlow cực kỳ tốt. Đối tượng sử dụng nó cũng đa dạng không kém: từ các nhà nghiên cứu, nhà khoa học dữ liệu và dĩ nhiên không thể thiếu các lập trình viên. 

Lịch sử ra đời TensorFlow

Vài năm trước, khi phải xử lý lượng dữ liệu khổng lồ, deep learning bắt đầu cho thấy hiệu năng vượt trội so với tất cả các thuật toán machine learning khác. Google sớm nhận ra tiềm năng này và nghĩ rằng họ nên sử dụng deep neural network để cải thiện các dịch vụ của mình, trong đó có:

– Gmail.
– Hình ảnh
– Google search engine

Thế là họ dựng 1 framework có tên là TensorFlow để các nhà nghiên cứu cũng như lập trình viên có thể làm việc cùng nhau trên model A.I. 1 khi đã được phát triển và scale hoàn chỉnh, rất nhiều người đã có thể sử dụng được nó.

Xem thêm: 

  1. Thử làm ứng dụng tô màu bằng AI 
  2. Hiểu thêm về Deep Learning thông qua 12 khóa học online miễn phí

Ra mắt lần đầu vào cuối năm 2015, phiên bản TensorFlow ổn định cuối cùng cũng xuất hiện vào năm 2017. Là mã nguồn mở dưới sự cho phép của Apache Open Source, giờ đây bạn có thể sử dụng, điều chỉnh và tái đóng góp phiên bản được điều chỉnh đó, đổi lại không cần phải trả bất cứ đồng nào cho Google. 

TensorFlow là gì?
TensorFlow trong vũ trụ Machine Learning

Kiến trúc của TensorFlow

Kiến trúc TensorFlow hoạt động được chia thành 3 phần:

– Tiền xử lý dữ liệu
– Dựng model
– Train và ước tính model

Cách TensorFlow hoạt động

TensorFlow cho phép các lập trình viên tạo ra dataflow graph, cấu trúc mô tả làm thế nào dữ liệu có thể di chuyển qua 1 biểu đồ, hay 1 sê-ri các node đang xử lý. Mỗi node trong đồ thị đại diện 1 operation toán học, và mỗi kết nối hay edge giữa các node là 1 mảng dữ liệu đa chiều, hay còn được gọi là ‘tensor’. 

TensorFlow cung cấp tất cả những điều này cho lập trình viên theo phương thức của ngôn ngữ Python. Vì Python khá dễ học và làm việc, ngoài ra còn cung cấp nhiều cách tiện lợi để ta hiểu được làm thế nào các high-level abstractions có thể kết hợp cùng nhau. Node và tensor trong TensorFlow là các đối tượng Python, và các ứng dụng TensorFlow bản thân chúng cũng là các ứng dụng Python.

Các operation toán học thực sự thì không được thi hành bằng Python. Các thư viện biến đổi có sẵn thông qua TensorFlow được viết bằng các binary C++ hiệu suất cao. Python chỉ điều hướng lưu lượng giữa các phần và cung cấp các high-level abstraction lập trình để nối chúng lại với nhau.

Các ứng dụng TensorFlow có thể chạy được trên hầu hết các đối tượng thông dụng: máy local, cluster trong các đám mây, thiết bị di động iOS và Android, CPU hay GPU. Nếu bạn dùng đám mây của riêng Google, bạn có thể chạy TensorFlow trên silicon của TensorFlow Processing Unit (TPU) tùy chỉnh từ Google để tăng tốc hiệu quả hơn nữa. Các model được tạo ra bởi TensorFlow, có thể deploy trên hầu hết các thiết bị nơi chúng được sử dụng để phục vụ các dự đoán.

TensorFlow 2.0, được ra mắt vào tháng 10 năm 2019, cải tiến framework theo nhiều cách dựa trên phản hồi của người dùng, để dễ dàng và hiệu quả hơn khi làm việc cùng nó (ví dụ: bằng cách sử dụng các Keras API liên quan đơn giản cho việc train model). Train phân tán dễ chạy hơn nhờ vào API mới và sự hỗ trợ cho TensorFlow Lite cho phép triển khai các mô hình trên khá nhiều nền tảng khác nhau. Tuy nhiên, nếu đã viết code trên các phiên bản trước đó của TensorFlow thì bạn phải viết lại, đôi lúc 1 ít, đôi lúc cũng khá đáng kể, để tận dụng tối đa các tính năng mới của TensorFlow 2.0. 

Lợi ích từ TensorFlow

Lợi ích dễ thấy nhưng quan trọng nhất mà TensorFlow cung cấp cho việc lập trình machine learning chính là abstraction. Thay vì phải đối phó với những tình huống rườm rà từ việc thực hiện triển khai các thuật toán, hay tìm ra cách hợp lý để chuyển output của 1 chức năng sang input của 1 chức năng khác, giờ đây bạn có thể tập trung vào phần logic tổng thể của 1 ứng dụng hơn. TensorFlow sẽ chăm sóc phần còn lại thay cho bạn.

Ngoài ra TensorFlow còn ung cấp các tiện ích bổ sung cho các lập trình viên cần debug cũng như giúp bạn tự suy xét các ứng dụng TensorFlow. Chế độ eager execution cho phép bạn đánh giá và sửa đổi từng operation của biểu đồ 1 cách riêng biệt và minh bạch, thay vì phải dựng toàn bộ biểu đồ dưới dạng 1 đối tượng độc lập vốn khá mơ hồ hay phải đánh giá chung tổng thể. Cuối cùng, 1 tính năng khá độc đáo của TensorFlow là TensorBoard. TensorBoard cho phép bạn quan sát 1 cách trực quan những gì TensorFlow đang làm.

TensorFlow còn có nhiều cải tiến từ sự hậu thuẫn từ các ekíp thương mại hạng A tại Google. Google không những tiếp lửa cho tiến độ nhanh chóng cho sự phát triển đằng sau dự án, mà còn tạo ra nhiều phục vụ độc đáo xung quanh TensorFlow để nó dễ dàng deploy và sử dụng: như silicon TPU mình đã nói ở trên để tăng tốc hiệu suất đám mây Google, 1 online hub cho việc chia sẻ các model được tạo với framework, sự hiện diện của in-browser và gần gũi với mobile của framework, và nhiều hơn thế nữa…

Lưu ý: Trong 1 số công việc training, vài chi tiết về việc triển khai của TensorFlow làm cho nó khó có thể quyết định được hoàn toàn kết quả training model . Đôi khi 1 model được train trên 1 hệ thống này sẽ có thay đổi 1 chút so với 1 model được train trên hệ thống khác, ngay cả khi chúng được cung cấp dữ liệu như nhau. Các nguyên nhân cho điều này cũng xê xích hay 1 số hành vi khi không được xác định khi sử dụng GPU. Điều này nói rằng, các vấn đề đó có thể giải quyết được, và đôi ngũ của TensorFlow cũng đang xem xét việc kiểm soát nhiều hơn để ảnh hưởng đến tính quyết định trong quy trình làm việc.

Giới thiệu các Component của TensorFlow

Tensor

Tên của TensorFlow được đưa ra trực tiếp là nhờ vào framework cốt lõi của nó: Tensor. Trong TensorFlow, tất cả các tính toán đều liên quan tới các tensor. 1 tensor là 1 vector hay ma trận của n-chiều không gian đại diện cho tất cả loại dữ liệu. Tất cả giá trị trong 1 tensor chứa đựng loại dữ liệu giống hệt nhau với 1 shape đã biết (hoặc đã biết 1 phần). Shape của dữ liệu chính là chiều của ma trận hay mảng.

1 tensor có thể được bắt nguồn từ dữ liệu input hay kết quả của 1 tính toán. Trong TensorFlow, tất cả các hoạt động được tiến hành bên trong 1 graph – biểu đồ. Biểu đồ là 1 tập hợp tính toán được diễn ra liên tiếp. Mỗi operation được gọi là 1 op node  (operation node) và được kết nối với nhau.

Biểu đồ phát thảo các op và kết nối giữa các node. Tuy nhiên, nó không hiển thị các giá trị. Phần edge của các node chính là tensor, 1 cách để nhập operation với dữ liệu.

Graph

TensorFlow sử dụng framework dạng biểu đồ. Biểu đồ tập hợp và mô tả tất cả các chuỗi tính toán được thực hiện trong quá trình training. Biểu đồ cũng mang rất nhiều lợi thế:

– Nó được làm ra để chạy trên nhiều CPU hay GPU, ngay cả các hệ điều hành trên thiết bị điện thoại.
– Tính di động của biểu đồ cho phép bảo toàn các tính toán để bạn sử dụng ngay hay sau đó. Biểu đồ có thể được lưu lại để thực thi trong tương lai.
– Tất cả tính toán trong biểu đồ được thực hiện bằng cách kết nối các tensor lại với nhau. 1 tensor có 1 node và 1 edge. Node mang operation toán học và sản xuất các output ở đầu cuối. Các edge giải thích mối quan hệ input/output giữa các node.

Danh sách các thuật toán nổi bật được hỗ trợ bởi TensorFlow

Tính tới thời điểm phiên bản ra mắt TensorFlow 1.10, nó đã sở hữu built-in API cho:

Linear regression: tf.estimator.LinearRegressor

Classification: tf.estimator.LinearClassifier

Deep learning classification: tf.estimator.DNNClassifier

Deep learning wipe and deep: tf.estimator.DNNLinearCombinedClassifier

Booster tree regression: tf.estimator.BoostedTreesRegressor

Boosted tree classification: tf.estimator.BoostedTreesClassifier

Ví dụ TensorFlow đơn giản

import numpy as np
import tensorflow as tf

Trong 2 line code đầu, ta đã import tensorflow là tf. Với Python, nó chỉ là 1 bài tập thông dụng khi dùng tên viết tắt cho 1 thư viện. Lợi thế là để tránh gõ đầy đủ tên của thư viện khi ta cần sử dụng nó.

Ví dụ: chúng ta có thể import tensorflow là tf, và gọi tf khi chúng ta muốn dùng 1 chức năng TensorFlow.

Ta hãy luyện tập quy trình làm việc cơ bản của TensorFlow với 1 ví dụ cơ bản sau đây:Tạo 1 đồ thị tính toán nhân 2 số lại với nhau.

Chúng ta sẽ nhân X_1 và X_2 lại với nhau. TensorFlow sẽ tạo 1 node để kết nối với operation. Trong ví dụ này, nó được gọi là multiply. Khi đồ thị được xác định, engine tính toán TensorFlow sẽ nhân X_1 và X_2 lại cùng nhau.

tensorflow là gì?
Cuối cùng, chúng ta chạy 1 session TensorFlow mà sẽ chạy đồ thị tính toán với giá trị của X_1 và X_2 và print phần kết quả của phép nhân.


Hãy xác định các input node của X_1 và X_2. Khi ta tạo 1 node trong TensorFlow, chúng ta phải chọn nó là loại node gì. Các node X1 và X2 sẽ là node placeholder – node giữ chỗ. Placeholder chỉ định 1 giá trị mới mỗi khi ta làm 1 phép tính. Ta sẽ tạo chúng như là 1 node TF chấm placeholder.

Bước 1: Xác định giá trị

X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")

Khi ta tạo 1 node placeholder, ta phải gửi loại dữ liệu sẽ được thêm số tại đây nên ta có thể sử dụng 1 loại dữ liệu floating-point, hãy dùng tf.float32. Chúng ta cũng cần phải cho node này 1 cái tên. Tên này sẽ xuất hiện khi ta nhìn vào phần trực quan dạng đồ thị của model. Hãy đặt tên node X_1 này bằng cách nhập 1 tham số được gọi bằng tên với 1 giá trị của X_1 và bây giờ hãy xác định X_2 theo cách tương tự.

Bước 2: Xác định phần tính toán

multiply = tf.multiply(X_1, X_2, name = "multiply")

Giờ ta có thể xác định node sẽ thực hiện operation phép nhân. Trong TensorFlow, chúng ta có thể làm điều đó bằng cách tạo 1 node tf.multiply.

Ta sẽ nhập node X_1 và X_2 tới node nhân. Nó sẽ nói với TensorFlow để liên kết những node đó trong đồ thị tính toán, nên ta đang yêu cầu nó để pull các giá trị từ x và y và nhân phần kết quả. Hãy cho node nhân cái tên multiply. Nó là toàn bộ định nghĩa cho đồ thị tính toán đơn giản này.

Bước 3: Thực thi operation

Để thực thi các operation trong đồ thị, ta phải tạo 1 session. Trong TensorFlow, nó được thực hiện bằng tf.Session(). Giờ ta có 1 session ta có thể hỏi session để chạy operation trên đồ thị tính toán của ta bằng cách gọi session. Để chạy phần tính toán, chúng ta sẽ dùng run.

Khi operation bổ sung chạy, nó sẽ thấy rằng nó cần để lấy các giá trị của node X_1 và X_2, nên chúng ta cũng cần cung cấp các trị cho X_1 và X_2. Ta có thể dùng điều đó bằng cách cung cấp 1 tham số được gọi là feed_dict. Chúng ta chuyển giá trị 1,2,3 cho X_1 và 4,5,6 cho X_2.

Chúng ta print phần kết quả với print(result). Chúng ta sẽ thấy 4,10 và 18 cho 1×4, 2×5 và 3,6.

X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")

multiply = tf.multiply(X_1, X_2, name = "multiply")

with tf.Session() as session:
    result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]})
    print(result)
[ 4. 10. 18.]

Các option tải dữ liệu vào TensorFlow

Bước đầu tiên trước khi train 1 thuật toán machine learning là load dữ liệu. Có 2 cách thông dụng để load dữ liệu:

1. Load dữ liệu vào bộ nhớ: đây là phương pháp đơn giản nhất. Bạn load tất cả dữ liệu vào bộ nhớ như 1 mảng đơn. Bạn cũng có thể viết code bằng Python. Những dòng code này không liên quan gì tới TensorFlow.

2. Pipeline dữ liệu TensorFlow. TensorFlow sở hữu built-in API và nó sẽ giúp bạn load dữ liệu, thực thi các operation và feed thuật toán machine learning 1 cách dễ dàng. Phương pháp này hoạt động tốt đặc biệt khi bạn có 1 dataset lớn. Ví dụ: các hình ảnh thu được được biết khá là khổng lồ và không thể fit vào bộ nhớ. Pipeline dữ liệu sẽ tự quản lý phần bộ nhớ.

Giải pháp sẽ là gì?

Load dữ liệu vào bộ nhớ

Nếu dataset của bạn không quá lớn, chẳng hạn như dưới 10 GB, bạn có thể dùng phương pháp đầu tiên. Dữ liệu có thể dễ dàng fit vào bộ nhớ. Bạn cũng có thể dùng 1 thư viện nổi tiếng có tên là Pandas để import các tệp CSV. 1

Load dữ liệu với TensorFlow pipeline

Phương pháp thứ 2 sẽ hoạt động tốt nhất nếu bạn có 1 dataset lớn. Ví dụ: nếu bạn có 1 dataset nặng 50 GB và máy tính của bạn chỉ có 16GB dung lượng thì rõ ràng là máy sẽ crash thôi.

Trong tình huống này, bạn cần dựng 1 TensorFlow pipeline. Đường ống sẽ load dữ liệu trong batch, hay chunk nhỏ. Mỗi batch sẽ được push tới pipeline và sẵn sàng cho việc training. Dựng 1 pipeline là 1 giải pháp tuyệt vời vì nó còn cho bạn sử dụng phép tính toán song song. Nghĩa là TensorFlow sẽ train model qua nhiều CPU. Thúc đẩy sự tính toán và cho phép training mạng lưới thần kinh mạnh mẽ hơn.

Tóm tắt:

-Nếu bạn có 1 set dữ liệu nhỏ, bạn có thể load dữ liệu trong bộ nhớ với thư viện Pandas.

-Nếu bạn có 1 set dữ liệu lớn và muốn sử dụng nhiều CPU, thì bạn sẽ thoải mái hơn khi làm việc cùng TensorFlow pipeline.

  Bookmark 5 website học lập trình Python tốt nhất

  Bài toán dự báo thời tiết với Machine Learning

Tạo đường ống TensorFlow

Trong ví dụ trước, ta đã thêm thủ công 3 giá trị cho X_1 và X_2. Giờ chúng ta sẽ xem cách load dữ liệu tới TensorFlow.

Bước 1: Tạo dữ liệu

Đầu tiên, hãy dùng thư viện numpy để tạo ra 2 giá trị ngẫu nhiên.

import numpy as np
x_input = np.random.sample((1,2))
print(x_input)

Bước 2: Tạo placeholder

Giống như ví dụ trước, ta tạo 1 placeholder với tên là X. Ta cần phải chỉ định shape của TensorFlow 1 cách rõ ràng. Trong vài trường hợp, ta sẽ tải 1 mảng với chỉ 2 giá trị. Ta có thể viết shape như là shape=[1,2]

# using a placeholder
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')

Bước 3: Xác định phương pháp cho set dữ liệu

Tiếp theo, chúng ta cần phải xác định set dữ liệu nơi ta có thể nhập giá trị của placeholder x. Chúng ta cần dùng phương pháp tf.data.Dataset.from_tensor_slices 

dataset = tf.data.Dataset.from_tensor_slices(x)

Bước 4: Tạo đường ống

Trong bước này, ta cần phải khởi tạo pipeline nơi dữ liệu chạy qua. Ta cần tạo 1 iterator với make_initializable_iterator. Đặt tên cho nó là iterator. Rồi ta cần gọi iterator này để feed cho batch dữ liệu tiếp theo, get_next. Ta đặt tên bước này là get_next. Hãy lưu ý điều này trong ví dụ của mình, vì chỉ có duy nhất 1 batch dữ liệu với 2 giá trị.

iterator = dataset.make_initializable_iterator() 
get_next = iterator.get_next()

Bước 5: Thực thi operation

Bước cuối cũng tương tự như ví dụ trước. Ta khởi tạo 1 session và chạy operation iterator. Ta feed cái feed_dict với giá trị được tạo ra bởi numpy. 2 giá trị này sẽ nhập vào placeholder x. Rồi chúng ta chạy get_next để print kết quả.

with tf.Session() as sess:
    # feed the placeholder with data
    sess.run(iterator.initializer, feed_dict={ x: x_input }) 
    print(sess.run(get_next)) # output [ 0.52374458  0.71968478]
[0.8835775  0.23766978]

10 tài liệu lập trình đág xem qua nhất về Tensorflow

1 – Learn TensorFlow 2.0: Implement Machine Learning and Deep Learning Models with Python

Tài liệu Tensorflow là gì Implement Machine Learning and Deep Learning Models with Python

Learn TensorFlow 2.0 là quyển sách được viết bởi 2 tác giả Pramod Singh và Avish Manure. Sách bắt đầu bằng việc giới thiệu framework TensorFlow 2.0 và những thay đổi chính từ bản phát hành trước đó. Quyển này cũng tập trụng vào phần dựng các model ‘Supervised Machine Learning’ bằng cách dùng TensorFlow.

Learn TensorFlow còn dạy cho bạn cách dựng các model bằng việc dùng ‘customer estimators’. Bạn sẽ học được cách sử dụng TensorFlow để dựng các model machine learning và deep learning. Tất cả code trong sách đều có sẵn ở dạng script thực thi trên GitHub, bạn có thể thực hành nó 1 cách dễ dàng.

2 – Advanced Deep Learning with TensorFlow 2 and Keras

Tài liệu Tensorflow là gì Advanced Deep Learning with TensorFlow 2 and Keras

Advanced Deep Learning with TensorFlow 2 and Keras là 1 quyển sách của tác giả Rowel Atienza, nó dạy cho bạn những kỹ thuật deep learning cao cấp đang sẵn có ở thời điểm hiện tại.

Nó còn dạy cho bạn về deep learning, unsupervised learning bằng cách dùng các thông tin tương quan, xác định đối tượng (SSD). Sách sẽ chỉ cho bạn cách để tạo A.I. hiệu quả với các kỹ thuật tiên tiến nhất hiện tại. Trong Advanced Deep Learning with TensorFlow 2 and Keras, bạn còn được học về GANs và làm thế nào họ có thể mở khoá các cấp độ mới của hiệu năng cho Trí tuệ Nhân Tạo.

3 – Tensorflow in 1 Day

Tài liệu Tensorflow là gì in 1 Day

Học TensorFlow chỉ trong 1 ngày? Nghe thì ảo thật đấy nhưng trong quyển sách bởi tác giả Krishna Rungta này sẽ dạy cho bạn về môn khó nhằn bằng tiếng Anh theo cách dễ hiểu nhất. Nó còn đi kèm đồ thị, tính năng tính toán tuyệt vời. Quyển sách được khá nhiều nhà khoa học dữ liệu khuyến cáo vì độ trực quan mà nó đem lại cho mạng lưới thần kinh khi sử dụng TensorBoard.

Sách bao gồm các chủ đề như Deep learning là gì?, Machine Learning vs. Deep Learning, TensorFlow là gì? cũng như các chủ đề cao cấp hơn như Jupyter Notebook, TensorFlow trên AWS và còn nhiều nữa… Hẳn đây là 1 quyển không thể thiếu cho các bạn mới bắt đầu tìm hiểu về TensorFlow.

4 – TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers

Tài liệu Tensorflow là gì

TinyML: Machine Learning with TensorFlow Lite là quyển được viết bởi Pete Warden và Daniel Situnayke. Với cuốn tham khảo thực hành này, bạn sẽ bước vào lĩnh vực TinyML. Nó bao gồm deep learning kết hợp cùng hệ thống nhúng để tạo ra những thứ đáng kinh ngạc nhất có thể với những thiết bị tí hon.

Quyển TinyML này khá lý tưởng cho các bạn lập trình viên phần mềm lẫn lập trình viên phần cứng, nhất là những ai muốn dựng hệ thống nhúng bằng machine learning.

 

5 – Natural Language Processing with TensorFlow: Teach language to machines using Python’s deep learning library

Tài liệu Tensorflow là gì Natural Language Processing with TensorFlow- Teach language to machines using Python's deep learning library

Natural Language Processing with TensorFlow là quyển sách viết bởi Husan Ganefedara. Bạn sẽ học cách ứng dụng các model RNN hiệu năng cao, các cell short-term memory (LSTM), vào các tác vụ Natural Language Processing. Bạn còn có thể khám phá sự chuyển ngữ neural machine và triển khai thực hiện trình chuyển ngữ neural machine.

Sau khi đọc xong quyển sách này, bạn sẽ hiểu rõ hơn về công nghệ NLP và có thể ứng dụng TensorFlow vào các ứng dụng deep learning NLP, cũng như cách thi hành các tác vụ NLP cụ thể.

6 – TensorFlow Machine Learning Projects: Build 13 real-world projects with advanced numerical computations using the Python ecosystem

Tài liệu Tensorflow là gì TensorFlow Machine Learning Projects- Build 13 real-world projects with advanced numerical computations using the Python ecosystem

TensorFlow Machine Learning Projects là quyển sách bởi bộ 3 tác giả: Ankit Jain, Armando Fandango, và Amita Kapoor. Nó sẽ dạy bạn cách dựng các dự án nâng cao cũng như bạn sẽ có thể va chạm nhiều thử thách thông dụng bằng cách sử dụng các thư viện từ TensorFlow ecosystem.

Ngoài ra, TMLP còn dạy cho bạn cách dựng các dự án đa dạng bằng real-world domains, autoencoders, các hệ thống được đề xuất, reinforcement learning, v.. v.. Khi kết thúc quyển tham khảo này, bạn sẽ có được chuyên môn cần thiết để dựng các dự án machine learning.

7 – Hands-On Computer Vision with TensorFlow 2: Leverage deep learning to create powerful image processing apps with TensorFlow 2.0 and Keras

Tài liệu Tensorflow là gì - Hands-On Computer Vision with TensorFlow 2- Leverage deep learning to create powerful image processing apps with TensorFlow 2.0 and Keras

Hands-On Computer Vision with TensorFlow 2 được viết bởi tác giả Benjamin Planche và Eliot Andres. Quyển này sẽ giúp bạn phám phá về framework nguồn mở cho machine learning này của Google. Bạn sẽ hiểu được cách làm thế nào để hưởng lợi từ việc sử dụng mạng lưới thần kinh tích chập – convolutional neural networks (CNNs) cho các nhiệm vụ trực quan.

Sách bắt đầu với nền tảng của tầm nhìn máy tính và deep learning. Sách cũng dạy cho bạn làm thế nào để dựng 1 mạng lưới thần kinh từ con số 0 cũng như giúp bạn cách phân loại hình ảnh với các giải pháp hiện đại, như Inception và ResNet, và trích xuất nội dung cụ thể qua phương pháp You Only Look Once (YOLO).

Cuối cùng, bạn sẽ biết rõ về lý thuyết lẫn kỹ năng thực tế. Ngoài ra nó còn giúp bạn giải quyết các vấn đề nâng cao về tầm nhìn máy tính.

8 – Pro Deep Learning with TensorFlow: A Mathematical Approach to Advanced Artificial Intelligence in Python

Tài liệu Tensorflow là gì - Pro Deep Learning with TensorFlow- A Mathematical Approach to Advanced Artificial Intelligence in Python

Viết bởi Santanu Pattanayak, Pro Deep Learning with TensorFlow cho bạn hiểu rõ về kiến thức và trực giác toán học. Nó sẽ giúp bạn phát mình ra các cấu trúc và giải pháp deep learning mới cho riêng bạn.

Sách còn cung cấp các bài thực hành chuyên môn để bạn có thể học deep learning dù chưa biết gì. Quyển PDLwT sẽ cho phép bạn tăng tốc nhanh chóng khi dùng TensorFlow, cũng như tối ưu hóa các kiến trúc deep learning khác nhau.

Mang nhiều khái niệm thực hành đa dạng về deep learning được nhấn mạnh có liên quan trong bất kỳ ngành nào. Code trong tài liệu tham khảo còny có sẵn ở dạng scrypt và iPython notebook.

9 – Practical Deep Learning for Cloud, Mobile, and Edge: Real-World AI & Computer-Vision Projects Using Python, Keras & TensorFlow

Tài liệu Tensorflow là gì - Practical Deep Learning for Cloud, Mobile, and Edge- Real-World AI & Computer-Vision Projects Using Python, Keras & TensorFlow

Practical Deep Learning for Cloud, Mobile, and Edge là quyển sách viết bởi Anirudh Koul, Siddha Ganju, và Meher Kasam. Nếu bạn muốn dựng các ứng dụng thực hành deep learning cho đám mây, di động hay trình duyệt thì quyển này sẽ rất thích hợp cho bạn.

Sách dạy cho bạn quá trình chuyển đổi từ 1 ý tưởng trở thành 1 thứ gì đó mà mọi người có thể sử dụng. Sách còn chỉ cho bạn cách phát triển trí tuệ nhân tạo trong pham vi rộng các thiết bị, bao gồm Raspberry Pi và Google Coral. Bạn sẽ nhận được nhiều mẹo thực hành cho việc tối đa hóa độ chính xác và tốc độ các model.

10 – Deep Learning: A Practitioner’s Approach

Tài liệu Tensorflow là gì- Deep Learning- A Practitioner's Approach

Quyển không thể thiếu nếu bạn đang học tập và làm việc có liên quan tới lĩnh vực Deep Learning. Được viết bởi Josh Patterson và Adam Gibson. Cuốn hướng dẫn thực hành này không những cung cấp thông tin thiết thực nhất về deep learning mà còn giúp bạn bắt đầu xây dựng mạng lưới deep learning hiệu quả.

Bạn sẽ được học phần lý thuyết tổng quát của deep learning trước khi được giới thiệu Deeplearning4j (DL4J) nguồn mở của các tác giả, 1 thư viện để phát triển quy trình công việc trong sản xuất. Bằng cách sử dụng các ví dụ thực tế, bạn sẽ tìm hiểu các phương pháp và chiến thuật 1 cách dễ dàng.

Tổng kết về Tensorflow

Trong những năm gần đây, TensorFlow chính là thư viện deep learning nổi tiếng nhất. Người dùng TensorFlow có thể dựng bất kỳ cấu trúc deep learning nào, như CNN, RNN hay artificial neural network – mạng lưới thần kinh nhân tạo.

TensorFlow được dùng nhiều nhất bởi academic, startup và các công ty lớn. Google dùng TensorFlow trong hầu hết tất cả các sản phẩm thường nhật của họ. Bao gồm Gmail, Photo và hệ thống tìm kiếm Google.

Người dùng ưu dùng TensorFlow vì bạn có thể deploy at scale khá là dễ dàng cũng như nó có thể hoạt động trên đám mây hay bất kỳ thiết bị di động nào như iOS hay Android.

Đội ngũ Google Brain đã phát triển TensorFlow để làm khoảng cách giữa các nhà nghiên cứu và lập trình viên sản phẩm lại gần nhau hơn. Năm 2015, họ công khai TensorFlow và nó dần trở nên phổ biến. Ngày nay, TensorFlow đã thành thu viện deep learning với nhiều repo nhất trên GitHub.

Đừng bỏ lỡ những bài viết hay về Tensorflow và AI tại TopDev:

Xem thêm các việc làm it hấp dẫn tại TopDev