Cách cài đặt và sử dụng TensorFlow trên Ubuntu 18.04
TensorFlow là phần mềm học máy open-souce được sử dụng để đào tạo mạng thần kinh. Các mạng thần kinh củaensorFlow đượ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 . Nó hoạt động tốt cho việc truy xuất thông tin, như 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, ta 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:
Một server Ubuntu 18.04 với ít nhất 1GB RAM được cài đặt theo hướng dẫn cài đặt server ban đầu Ubuntu 18.04 , bao gồm user không phải root có quyền sudo và firewall . Bạn cần ít nhất 1GB RAM để thực hiện thành công ví dụ cuối cùng trong hướng dẫn này.
Python 3.3 trở lên và đã cài đặt
virtualenv
. Làm theo Cách cài đặt Python 3 trên Ubuntu 18.04 để cấu hình Python vàvirtualenv
.Git đã được cài đặt, bạn có thể thực hiện theo Cách cài đặt Git trên Ubuntu 18.04 . Bạn sẽ sử dụng nó để download một kho các ví dụ.
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. Ta sẽ gọi nó là tf-demo
cho mục đích demo , nhưng hãy chọn một tên folder có ý nghĩa đối với bạn:
- 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ó tên là tensorflow-dev
chẳng hạn. 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 :
- pip install --upgrade tensorflow
TensorFlow sẽ cài đặt và bạn sẽ nhận được kết quả cho biết rằng quá trình cài đặt cùng với bất kỳ gói phụ thuộc nào đã thành công.
Output... Successfully installed absl-py-0.7.1 astor-0.7.1 gast-0.2.2 grpcio-1.19.0 h5py-2.9.0 keras-applications-1.0.7 keras-preprocessing-1.0.9 markdown-3.0.1 mock-2.0.0 numpy-1.16.2 pbr-5.1.3 protobuf-3.7.0 setuptools-40.8.0 tensorboard-1.13.1 tensorflow-1.13.1 tensorflow-estimator-1.13.0 termcolor-1.1.0 werkzeug-0.15.0 wheel-0.33.1 ... 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
Bạn có thể hủy kích hoạt môi trường ảo của bạn bất kỳ lúc nào bằng cách sử dụng lệnh sau:
- 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
.
Đến đây 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:
Output2019-03-20 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. 2019-03-20 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. 2019-03-20 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. 2019-03-20 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. 2019-03-20 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 :
Trong Python 3, sess.run()
sẽ trả về một chuỗi byte, chuỗi này sẽ được hiển thị dưới dạng b'Hello, world!'
nếu bạn chạy print(sess.run(hello))
một mình. Để trả lại Hello, world!
dưới dạng một chuỗi, hãy thêm phương thức decode()
.
- print(sess.run(hello).decode())
Bạn sẽ thấy kết quả này trong console của bạn :
OutputHello, 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.
Thoát khỏi console tương tác Python bằng cách nhấn CTRL+D
hoặc gõ phím quit()
.
Tiếp theo, 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, ta có thể 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 học máy, hãy xem xét đọc “ 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ẽ nhận được kết quả sau khi Git kiểm tra repository vào một folder mới có tên là models
:
OutputCloning into 'models'... remote: Enumerating objects: 32, done. remote: Counting objects: 100% (32/32), done. remote: Compressing objects: 100% (26/26), done. remote: Total 24851 (delta 17), reused 12 (delta 6), pack-reused 24819 Receiving objects: 100% (24851/24851), 507.78 MiB | 32.73 MiB/s, done. Resolving deltas: 100% (14629/14629), done. Checking out files: 100% (2858/2858), 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ẽ nhận được kết quả tương tự như sau:
Outputgiant 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
Trong hướng dẫn này, 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 qua một số 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ợp và Nhúng từ .
Hướng dẫn lập trình viên của TensorFlow cung cấp một nguồn tài liệu và tài liệu tham khảo hữu ích để 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 mạnh mẽ, nơi bạn có thể khám phá 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.
Các tin liên quan
Cách thu thập số liệu cơ sở hạ tầng với Metricbeat trên Ubuntu 18.042019-03-15
Cách cài đặt và sử dụng ClickHouse trên Ubuntu 18.04
2019-03-11
Cách cấu hình xác thực đa yếu tố trên Ubuntu 18.04
2019-02-28
Cách thiết lập ứng dụng CakePHP với LAMP trên Ubuntu 18.04
2019-02-22
Cách đặt quota hệ thống tệp trên Ubuntu 18.04
2019-02-21
Cách thực hiện kiểm tra liên tục các vai trò không thể phục hồi bằng Molecule và Travis CI trên Ubuntu 18.04
2019-02-01
Cách đảm bảo chất lượng mã bằng SonarQube trên Ubuntu 18.04
2019-01-11
Cách cài đặt và bảo mật Memcached trên Ubuntu 18.04
2019-01-04
Cách cài đặt Elasticsearch, Logstash và Kibana (Elastic Stack) trên Ubuntu 16.04
2018-11-20
Cách cài đặt Elasticsearch, Logstash và Kibana (Elastic Stack) trên Ubuntu 16.04
2018-11-20