Thứ sáu, 01/12/2017 | 00:00 GMT+7

Cách cài đặt và sử dụng TensorFlow trên Ubuntu 16.04

TensorFlow là một phần mềm học máy open-souce do Google xây dựng để đào tạo mạng thần kinh. Mạng nơ-ron của TensorFlow được thể hiện dưới dạng biểu đồ stream dữ liệu trạng thái . Mỗi nút trong biểu đồ đại diện cho các hoạt động được thực hiện bởi mạng nơron trên mảng nhiều chiều. Các mảng đa chiều này thường được gọi là “tensors”, do đó có tên là TensorFlow.

TensorFlow là một hệ thống phần mềm học sâu . TensorFlow hoạt động tốt để truy xuất thông tin, như đã được Google chứng minh trong cách họ xếp hạng tìm kiếm trong hệ thống trí tuệ nhân tạo học máy của họ, RankBrain . TensorFlow có thể thực hiện nhận dạng hình ảnh, như trong Inception của Google, cũng như nhận dạng âm thanh ngôn ngữ của con người. Nó cũng hữu ích trong việc giải quyết các vấn đề khác không dành riêng cho học máy, chẳng hạn như phương trình vi phân từng phần .

Kiến trúc TensorFlow cho phép triển khai trên nhiều CPU hoặc GPU trong máy tính để bàn, server hoặc thiết bị di động. Ngoài ra còn có các phần mở rộng để tích hợp với CUDA , một nền tảng điện toán song song của Nvidia. Điều này cho phép user đang triển khai trên GPU truy cập trực tiếp vào tập lệnh ảo và các phần tử khác của GPU cần thiết cho các việc tính toán song song.

Trong hướng dẫn này, bạn sẽ cài đặt version "chỉ hỗ trợ CPU" của TensorFlow. Cài đặt này lý tưởng cho những người muốn cài đặt và sử dụng TensorFlow, nhưng không có card đồ họa Nvidia hoặc không cần chạy các ứng dụng quan trọng về hiệu suất.

Bạn có thể cài đặt TensorFlow theo một số cách. Mỗi phương pháp có một trường hợp sử dụng và môi trường phát triển khác nhau:

  • Python và Virtualenv : Trong cách tiếp cận này, bạn cài đặt TensorFlow và tất cả các gói cần thiết để sử dụng TensorFlow trong môi trường ảo Python. Điều này cô lập môi trường TensorFlow của bạn khỏi các chương trình Python khác trên cùng một máy.
  • Pip root : Trong phương pháp này, bạn cài đặt TensorFlow trên phạm vi global hệ thống của bạn . Điều này được đề xuất cho những người muốn cung cấp TensorFlow cho mọi người trên hệ thống nhiều user . Phương pháp cài đặt này không cô lập TensorFlow trong môi trường chứa và có thể ảnh hưởng đến các cài đặt hoặc thư viện Python khác.
  • Docker : Docker là một môi trường thời gian chạy containers và hoàn toàn cách ly nội dung của nó với các gói có sẵn trên hệ thống. Trong phương pháp này, bạn sử dụng containers Docker có chứa TensorFlow và tất cả các phụ thuộc của nó. Phương pháp này lý tưởng để kết hợp TensorFlow vào một kiến trúc ứng dụng lớn hơn đã sử dụng Docker. Tuy nhiên, kích thước của Docker image sẽ khá lớn.

Trong hướng dẫn này, bạn sẽ cài đặt TensorFlow trong môi trường ảo Python với virtualenv . Cách tiếp cận này tách biệt cài đặt TensorFlow và giúp mọi thứ bắt đầu và chạy nhanh chóng. Sau khi hoàn tất cài đặt, bạn sẽ xác nhận cài đặt của bạn bằng cách chạy một chương trình TensorFlow ngắn và sau đó sử dụng TensorFlow để thực hiện nhận dạng hình ảnh.

Yêu cầu

Trước khi bắt đầu hướng dẫn này, bạn cần những thứ sau:

Bước 1 - Cài đặt TensorFlow

Trong bước này, ta sẽ tạo một môi trường ảo và cài đặt TensorFlow.

Đầu tiên, tạo một folder dự án có tên là tf-demo :

  • mkdir ~/tf-demo

Điều hướng đến folder tf-demo mới được tạo của bạn:

  • cd ~/tf-demo

Sau đó, tạo một môi trường ảo mới được gọi là tensorflow-dev . Chạy lệnh sau để tạo môi trường:

  • python3 -m venv tensorflow-dev

Điều này tạo ra một tensorflow-dev mới sẽ chứa tất cả các gói mà bạn cài đặt khi môi trường này được kích hoạt. Nó cũng bao gồm pip và một version độc lập của Python.

Bây giờ hãy kích hoạt môi trường ảo của bạn:

  • source tensorflow-dev/bin/activate

Sau khi được kích hoạt, bạn sẽ thấy một cái gì đó tương tự như thế này trong terminal của bạn :

(tensorflow-dev)username@hostname:~/tf-demo $ 

Đến đây bạn có thể cài đặt TensorFlow trong môi trường ảo của bạn .

Chạy lệnh sau để cài đặt và nâng cấp lên version TensorFlow mới nhất có sẵn trong PyPi :

  • pip3 install --upgrade tensorflow

TensorFlow sẽ cài đặt:

Output
Collecting tensorflow Downloading tensorflow-1.4.0-cp36-cp36m-macosx_10_11_x86_64.whl (39.3MB) 100% |████████████████████████████████| 39.3MB 35kB/s ... Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.3 protobuf-3.5.0.post1 setuptools-38.2.3 six-1.11.0 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3 werkzeug-0.12.2 wheel-0.30.0

Nếu bạn muốn hủy kích hoạt môi trường ảo của bạn bất kỳ lúc nào, lệnh là:

  • deactivate

Để chạy lại môi trường sau này, hãy chuyển đến folder dự án của bạn và chạy source tensorflow-dev /bin/activate .

Bây giờ, bạn đã cài đặt TensorFlow, hãy đảm bảo cài đặt TensorFlow hoạt động.

Bước 2 - Xác thực cài đặt

Để xác thực cài đặt TensorFlow, ta sẽ chạy một chương trình đơn giản trong TensorFlow với quyền là user không phải root. Ta sẽ sử dụng ví dụ chính tắc dành cho người mới bắt đầu về "Xin chào, thế giới!" như một hình thức xác nhận. Thay vì tạo file Python, ta sẽ tạo chương trình này bằng control panel tương tác của Python .

Để viết chương trình, hãy khởi động trình thông dịch Python của bạn:

  • python

Bạn sẽ thấy dấu nhắc sau xuất hiện trong terminal của bạn

>>> 

Đây là dấu nhắc cho trình thông dịch Python và nó cho biết rằng nó đã sẵn sàng để bạn bắt đầu nhập một số câu lệnh Python.

Đầu tiên, gõ dòng này để nhập gói TensorFlow và làm cho nó có sẵn dưới dạng biến local tf . Nhấn ENTER sau khi nhập dòng mã:

  • import tensorflow as tf

Tiếp theo, thêm dòng mã này để đặt thông báo “Hello, world!”:

  • hello = tf.constant("Hello, world!")

Sau đó, tạo một phiên TensorFlow mới và gán nó cho biến sess :

  • sess = tf.Session()

Lưu ý : Tùy thuộc vào môi trường của bạn, bạn có thể thấy kết quả này:

Output
2017-06-18 16:22:45.956946: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations. 2017-06-18 16:22:45.957158: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations. 2017-06-18 16:22:45.957282: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations. 2017-06-18 16:22:45.957404: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations. 2017-06-18 16:22:45.957527: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

Điều này cho bạn biết rằng bạn có một bộ hướng dẫn có tiềm năng được tối ưu hóa để có hiệu suất tốt hơn với TensorFlow. Nếu bạn thấy điều này, bạn có thể an toàn bỏ qua nó và tiếp tục.

Cuối cùng, nhập dòng mã này để in ra kết quả của việc chạy phiên hello TensorFlow mà bạn đã tạo trong các dòng mã trước của bạn :

  • print(sess.run(hello))

Bạn sẽ thấy kết quả này trong console của bạn :

Output
Hello, world!

Điều này cho thấy rằng mọi thứ đang hoạt động và bạn có thể bắt đầu sử dụng TensorFlow để làm điều gì đó thú vị hơn.

Thoát khỏi console tương tác Python bằng cách nhấn CTRL+D

Bây giờ ta hãy sử dụng API nhận dạng hình ảnh của TensorFlow để làm quen với TensorFlow hơn.

Bước 3 - Sử dụng TensorFlow để nhận dạng hình ảnh

Bây giờ TensorFlow đã được cài đặt và bạn đã xác thực nó bằng cách chạy một chương trình đơn giản, hãy cùng xem xét khả năng nhận dạng hình ảnh của TensorFlow.

Để phân loại một hình ảnh, bạn cần phải đào tạo một mô hình. Sau đó, bạn cần phải viết một số mã để sử dụng mô hình. Để tìm hiểu thêm về các khái niệm này, bạn có thể xem phần Giới thiệu về Học máy .

TensorFlow cung cấp một kho lưu trữ các mô hình và ví dụ , bao gồm mã và mô hình được đào tạo để phân loại hình ảnh.

Sử dụng Git để sao chép repository mô hình TensorFlow từ GitHub vào folder dự án của bạn:

  • git clone https://github.com/tensorflow/models.git

Bạn sẽ thấy kết quả sau khi Git kiểm tra repository vào một folder mới có tên là models :

Output
Cloning into 'models'... remote: Counting objects: 8785, done. remote: Total 8785 (delta 0), reused 0 (delta 0), pack-reused 8785 Receiving objects: 100% (8785/8785), 203.16 MiB | 24.16 MiB/s, done. Resolving deltas: 100% (4942/4942), done. Checking connectivity... done.

Chuyển sang folder models/tutorials/image/imagenet :

  • cd models/tutorials/image/imagenet

Thư mục này chứa file classify_image.py loại_image.py sử dụng TensorFlow để nhận dạng hình ảnh. Chương trình này download một mô hình được đào tạo từ tensorflow.org trong lần chạy đầu tiên. Download mô hình này yêu cầu bạn có 200 MB dung lượng trống trên đĩa.

Trong ví dụ này, ta sẽ phân loại hình ảnh pandas được cung cấp sẵn . Thực thi lệnh này để chạy chương trình phân loại hình ảnh:

  • python classify_image.py

Bạn sẽ thấy kết quả tương tự như sau:

Output
giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107) indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779) lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296) custard apple (score = 0.00147) earthstar (score = 0.00117)

Bạn đã phân loại hình ảnh đầu tiên của bạn bằng khả năng nhận dạng hình ảnh của TensorFlow.

Nếu bạn muốn sử dụng một hình ảnh khác, bạn có thể thực hiện việc này bằng cách thêm đối số -- image_file vào lệnh python3 classify_image.py . Đối với đối số, bạn sẽ chuyển vào đường dẫn tuyệt đối của file hình ảnh.

Kết luận

Bạn đã cài đặt TensorFlow trong môi trường ảo Python và xác thực rằng TensorFlow hoạt động bằng cách chạy một vài ví dụ. Như vậy, bạn sở hữu các công cụ giúp bạn có thể khám phá các chủ đề bổ sung bao gồm Mạng thần kinh kết hợpNhúng từ .

Hướng dẫn dành cho lập trình viên của TensorFlow là một nguồn tài liệu và tài liệu tham khảo tuyệt vời để phát triển TensorFlow. Bạn cũng có thể khám phá Kaggle , một môi trường cạnh tranh để áp dụng thực tế các khái niệm máy học giúp bạn chống lại những người đam mê máy học, khoa học dữ liệu và thống kê khác. Họ có một wiki tuyệt vời, nơi bạn có thể xem và chia sẻ các giải pháp, một số giải pháp trong số đó là công nghệ tiên tiến của kỹ thuật thống kê và học máy.


Tags:

Các tin liên quan

Cách cài đặt Elasticsearch, Logstash và Kibana (ELK Stack) trên Ubuntu 14.04
2017-12-01
Cách cài đặt Elasticsearch, Logstash và Kibana (ELK Stack) trên Ubuntu 14.04
2017-12-01
Cách cài đặt Jenkins trên Ubuntu 16.04
2017-11-29
Cách tạo thiết lập tính khả dụng cao với Heartbeat và IP nổi trên Ubuntu 16.04
2017-11-22
Cách cài đặt phpIPAM trên Ubuntu 16.04
2017-11-22
Cách sử dụng Logrotate và S3cmd để lưu trữ log vào bộ nhớ đối tượng trên Ubuntu 16.04
2017-11-09
Cách quản lý các tệp log bằng Logrotate trên Ubuntu 16.04
2017-11-09
Cách tạo VPN điểm-điểm với WireGuard trên Ubuntu 16.04
2017-11-09
Cách đánh giá trang web bằng Firefox, Siege và Sproxy trên Ubuntu 16.04
2017-11-07
Cách cài đặt Nagios 4 và theo dõi server của bạn trên Ubuntu 16.04
2017-11-06