Khắc phục: CPU của bạn hỗ trợ Hướng dẫn rằng Nhị phân TensorFlow này không được biên dịch để sử dụng AVX2

Phần mở rộng vectơ nâng cao ( AVX, còn được gọi là phần mở rộng mới của Sandy Bridge ) là phần mở rộng cho kiến ​​trúc tập lệnh x86 cho bộ vi xử lý của Intel và AMD do Intel đề xuất vào tháng 3 năm 2008 và được Intel hỗ trợ đầu tiên với bộ xử lý Sandy Bridge trong Q1 2011 trở về sau được AMD cung cấp với bộ xử lý Bulldozer trong quý 3 năm 2011. AVX cung cấp các tính năng mới, hướng dẫn mới và sơ đồ mã hóa mới.

Cảnh báo được hiển thị bằng cmd

Thông báo cảnh báo này được in bởi thư viện chia sẻ của TensorFlow. Như thông báo cho biết, thư viện dùng chung không bao gồm loại hướng dẫn mà CPU của bạn có thể sử dụng.

Điều gì gây ra cảnh báo này?

Sau TensorFlow 1.6, các nhị phân bây giờ sử dụng các lệnh AVX có thể không chạy trên các CPU cũ nữa. Vì vậy, các CPU cũ hơn sẽ không thể chạy AVX, trong khi đối với các CPU mới hơn, người dùng cần xây dựng dòng chảy từ nguồn cho CPU của chúng. Dưới đây là tất cả các thông tin bạn cần biết về cảnh báo cụ thể này. Ngoài ra, một phương pháp về việc loại bỏ cảnh báo này để sử dụng trong tương lai.

AVX làm gì?

Cụ thể, AVX đã giới thiệu FMA (Fuse bội số cộng); đó là thao tác nhân đa dấu phẩy động và tất cả thao tác này được thực hiện trong một bước duy nhất. Điều này giúp tăng tốc nhiều hoạt động mà không có bất kỳ vấn đề. Nó làm cho việc tính toán đại số nhanh hơn và dễ sử dụng hơn, cũng như sản phẩm chấm, nhân ma trận, tích chập, v.v ... Và đây là tất cả các hoạt động cơ bản và được sử dụng nhiều nhất cho mọi đào tạo học máy. Các CPU hỗ trợ AVX và FMA sẽ nhanh hơn nhiều so với các CPU cũ. Nhưng cảnh báo nói rằng CPU của bạn hỗ trợ AVX, vì vậy đó là một điểm tốt.

Công nghệ Intel AVX

Tại sao nó không được sử dụng theo mặc định?

Đó là bởi vì bản phân phối mặc định của TensorFlow được xây dựng mà không có phần mở rộng CPU. Bằng các phần mở rộng CPU, nó nêu AVX, AVX2, FMA, v.v ... Các hướng dẫn kích hoạt vấn đề này không được bật theo mặc định trên các bản dựng mặc định có sẵn. Những lý do chúng không được kích hoạt là để làm cho điều này tương thích với càng nhiều CPU càng tốt. Ngoài ra để so sánh các phần mở rộng này, chúng chậm hơn rất nhiều về CPU thay vì GPU. CPU được sử dụng cho việc học máy quy mô nhỏ trong khi việc sử dụng GPU được dự kiến ​​khi nó được sử dụng cho đào tạo học máy quy mô vừa hoặc lớn.

Sửa lỗi cảnh báo!

Những cảnh báo này chỉ là những tin nhắn đơn giản. Mục đích của những cảnh báo này là để thông báo cho bạn về TensorFlow được xây dựng từ nguồn. Khi bạn xây dựng TensorFlow từ nguồn, nó có thể nhanh hơn trên máy. Vì vậy, tất cả những cảnh báo này đang nói với bạn về việc xây dựng TensorFlow từ nguồn.

Nếu bạn có GPU trên máy, thì bạn có thể bỏ qua các cảnh báo này từ hỗ trợ AVX. Bởi vì hầu hết những thứ đắt tiền sẽ được gửi đi trên một thiết bị GPU. Và nếu bạn không muốn thấy lỗi này nữa, bạn chỉ cần bỏ qua nó bằng cách thêm vào đây:

nhập mô-đun hệ điều hành vào mã chương trình chính của bạn và cũng đặt đối tượng ánh xạ cho nó

 # Để vô hiệu hóa cảnh báo nhập os os.envir ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Nhưng nếu bạn đang dùng Unix, thì hãy sử dụng lệnh export trong bash shell

 xuất TF_CPP_MIN_LOG_LEVEL = 2 

Nhưng nếu không có GPU và bạn muốn sử dụng CPU của mình càng nhiều càng tốt, bạn nên xây dựng TensorFlow từ nguồn được tối ưu hóa cho CPU của bạn với AVX, AVX2 và FMA được bật tại đây.

Bài ViếT Thú Vị