Chỉ có TensorFlow Python?

Tôi đã có cùng một vấn đề và giải quyết với điều này

# Ubuntu/Linux 64-bit, CPU only, Python 2.7
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.1-cp27-none-linux_x86_64.whl

# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7
# Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see "Installing from sources" below.

# Mac OS X, CPU only, Python 2.7:
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.12.1-py2-none-any.whl

# Mac OS X, GPU enabled, Python 2.7:
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-0.12.1-py2-none-any.whl

# Ubuntu/Linux 64-bit, CPU only, Python 3.4
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.1-cp34-cp34m-linux_x86_64.whl

# Ubuntu/Linux 64-bit, GPU enabled, Python 3.4
# Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see "Installing from sources" below.
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.1-cp34-cp34m-linux_x86_64.whl

# Ubuntu/Linux 64-bit, CPU only, Python 3.5
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.1-cp35-cp35m-linux_x86_64.whl

# Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see "Installing from sources" below.
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.1-cp35-cp35m-linux_x86_64.whl

# Mac OS X, CPU only, Python 3.4 or 3.5:
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.12.1-py3-none-any.whl

# Mac OS X, GPU enabled, Python 3.4 or 3.5:
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-0.12.1-py3-none-any.whl

Thêm

# Python 2
(tensorflow)$ pip install --upgrade $TF_BINARY_URL

# Python 3
(tensorflow)$ pip3 install --upgrade $TF_BINARY_URL

Tìm thấy trên Tài liệu

CẬP NHẬT

Có liên kết mới cho các phiên bản mới

Ví dụ: để cài đặt tenorflow v1. 0. 0 trong OSX bạn cần sử dụng

https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.0.0-py2-none-any.whl

thay vì

https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.12.1-py2-none-any.whl

PyTorch so với TensorFlow. Có gì khác biệt? . Cả hai đều được sử dụng rộng rãi trong nghiên cứu học thuật và mã thương mại. Cả hai đều được mở rộng bởi nhiều API, nền tảng điện toán đám mây và kho lưu trữ mô hình

Nếu chúng quá giống nhau, thì cái nào là tốt nhất cho dự án của bạn?

Trong hướng dẫn này, bạn sẽ học

  • Sự khác biệt giữa PyTorch và TensorFlow là gì
  • Những công cụ và tài nguyên nào có sẵn cho mỗi
  • Cách chọn tùy chọn tốt nhất cho trường hợp sử dụng cụ thể của bạn

Bạn sẽ bắt đầu bằng cách xem xét kỹ cả hai nền tảng, bắt đầu với TensorFlow cũ hơn một chút, trước khi khám phá một số cân nhắc có thể giúp bạn xác định lựa chọn nào là tốt nhất cho dự án của mình. Bắt đầu nào

Tiền thưởng miễn phí. Nhấp vào đây để nhận Bảng cheat Python và tìm hiểu kiến ​​thức cơ bản về Python 3, như làm việc với các kiểu dữ liệu, từ điển, danh sách và hàm Python

TensorFlow là gì?

TensorFlow được Google phát triển và phát hành dưới dạng mã nguồn mở vào năm 2015. Nó phát triển từ phần mềm học máy do Google sản xuất, được tái cấu trúc và tối ưu hóa để sử dụng trong sản xuất

Cái tên “TensorFlow” mô tả cách bạn tổ chức và thực hiện các thao tác trên dữ liệu. Cấu trúc dữ liệu cơ bản cho cả TensorFlow và PyTorch là một tensor. Khi bạn sử dụng TensorFlow, bạn thực hiện các thao tác trên dữ liệu trong các tenxơ này bằng cách xây dựng một biểu đồ luồng dữ liệu có trạng thái, giống như một lưu đồ ghi nhớ các sự kiện trong quá khứ

Loại bỏ các quảng cáo

Ai sử dụng TensorFlow?

TensorFlow nổi tiếng là một thư viện deep learning cấp sản xuất. Nó có cơ sở người dùng lớn và tích cực, đồng thời phổ biến các công cụ và nền tảng chính thức và bên thứ ba để đào tạo, triển khai và phục vụ các mô hình

Sau khi PyTorch được phát hành vào năm 2016, TensorFlow đã giảm mức độ phổ biến. Nhưng vào cuối năm 2019, Google đã phát hành TensorFlow 2. 0, một bản cập nhật lớn giúp đơn giản hóa thư viện và làm cho nó thân thiện hơn với người dùng, dẫn đến sự quan tâm mới trong cộng đồng máy học

Kiểu mã và chức năng

Trước TensorFlow 2. 0, TensorFlow yêu cầu bạn ghép thủ công một cây cú pháp trừu tượng—biểu đồ—bằng cách thực hiện lệnh gọi API tf.*. Sau đó, nó yêu cầu bạn biên dịch mô hình theo cách thủ công bằng cách chuyển một tập hợp các tenxơ đầu ra và các tenxơ đầu vào tới một cuộc gọi session.run()

Một đối tượng Session là một lớp để chạy các hoạt động của TensorFlow. Nó chứa môi trường trong đó các đối tượng Tensor được đánh giá và các đối tượng Operation được thực thi và nó có thể sở hữu các tài nguyên như đối tượng tf.Variable. Cách phổ biến nhất để sử dụng Session là quản lý ngữ cảnh

Trong TenorFlow 2. 0, bạn vẫn có thể xây dựng các mô hình theo cách này, nhưng sẽ dễ dàng hơn khi sử dụng thực thi háo hức, đó là cách Python thường hoạt động. Quá trình thực thi háo hức đánh giá các hoạt động ngay lập tức, vì vậy bạn có thể viết mã của mình bằng luồng điều khiển Python thay vì luồng điều khiển biểu đồ

Để thấy sự khác biệt, hãy xem cách bạn có thể nhân hai tenxơ bằng mỗi phương pháp. Đây là một ví dụ sử dụng TensorFlow 1 cũ. 0 phương pháp

>>>

>>> import tensorflow as tf

>>> tf.compat.v1.disable_eager_execution()

>>> x = tf.compat.v1.placeholder(tf.float32, name = "x")
>>> y = tf.compat.v1.placeholder(tf.float32, name = "y")

>>> multiply = tf.multiply(x, y)

>>> with tf.compat.v1.Session() as session:
..     m = session.run(
..         multiply, feed_dict={x: [[2., 4., 6.]], y: [[1.], [3.], [5.]]}
..     )
..     print(m)
[[ 2.  4.  6.]
 [ 6. 12. 18.]
 [10. 20. 30.]]

Mã này sử dụng TensorFlow 2. API

>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
0 của x để truy cập TensorFlow 1. x và vô hiệu hóa thực thi háo hức

Trước tiên, bạn khai báo các tenxơ đầu vào

>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
1 và
>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
2 bằng cách sử dụng các đối tượng tenxơ
>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
3. Sau đó, bạn xác định thao tác để thực hiện trên chúng. Tiếp theo, sử dụng đối tượng
>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
4 làm trình quản lý bối cảnh, bạn tạo một vùng chứa để đóng gói môi trường thời gian chạy và thực hiện phép nhân bằng cách cung cấp các giá trị thực vào các trình giữ chỗ bằng một
>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
5. Cuối cùng, vẫn còn trong phiên, bạn
>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
6 kết quả

Với khả năng thực thi háo hức trong TensorFlow 2. 0, tất cả những gì bạn cần là

>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
7 để đạt được kết quả tương tự

>>>

>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>

Trong mã này, bạn khai báo các tenxơ của mình bằng cách sử dụng ký hiệu danh sách Python và

>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
7 thực hiện phép nhân theo phần tử ngay lập tức khi bạn gọi nó

Nếu bạn không muốn hoặc không cần xây dựng các thành phần cấp thấp, thì cách được khuyến nghị để sử dụng TensorFlow là Keras. Nó có các API đơn giản hơn, cuộn các trường hợp sử dụng phổ biến thành các thành phần đúc sẵn cho bạn và cung cấp các thông báo lỗi tốt hơn so với TensorFlow cơ sở

Tính năng đặc biệt

TensorFlow có cơ sở người dùng lớn và lâu đời cũng như rất nhiều công cụ để giúp sản xuất máy học. Để phát triển thiết bị di động, nó có API cho JavaScript và Swift, đồng thời TensorFlow Lite cho phép bạn nén và tối ưu hóa các mô hình cho thiết bị Internet of Things

Bạn có thể bắt đầu sử dụng TensorFlow một cách nhanh chóng nhờ có nhiều dữ liệu, mô hình được đào tạo trước và sổ ghi chép Google Colab mà cả Google và các bên thứ ba đều cung cấp

Nhiều bộ dữ liệu và thuật toán học máy phổ biến được tích hợp vào TensorFlow và sẵn sàng sử dụng. Ngoài các bộ dữ liệu tích hợp sẵn, bạn có thể truy cập bộ dữ liệu Nghiên cứu của Google hoặc sử dụng Tìm kiếm bộ dữ liệu của Google để tìm thêm

Keras giúp thiết lập và chạy các mô hình dễ dàng hơn, vì vậy bạn có thể thử các kỹ thuật mới trong thời gian ngắn hơn. Thật vậy, Keras là framework deep learning được sử dụng nhiều nhất trong số năm nhóm chiến thắng hàng đầu trên Kaggle

Một nhược điểm là bản cập nhật từ TensorFlow 1. x sang TensorFlow 2. 0 đã thay đổi rất nhiều tính năng mà bạn có thể cảm thấy bối rối. Nâng cấp mã là tẻ nhạt và dễ bị lỗi. Nhiều tài nguyên, chẳng hạn như hướng dẫn, có thể chứa lời khuyên lỗi thời

PyTorch không có cùng một vấn đề lớn về khả năng tương thích ngược, đó có thể là lý do để chọn nó thay vì TensorFlow

Loại bỏ các quảng cáo

Hệ sinh thái kéo căng

Một số điểm nổi bật về API, tiện ích mở rộng và công cụ hữu ích của hệ sinh thái mở rộng TensorFlow bao gồm

  • TensorFlow Hub, một thư viện dành cho các mô-đun máy học có thể tái sử dụng
  • Model Garden, một bộ sưu tập chính thức các mô hình sử dụng API cấp cao của TensorFlow
  • Học máy thực hành với Scikit-Learn, Keras và TensorFlow, giới thiệu toàn diện về học máy bằng TensorFlow

PyTorch là gì?

PyTorch được phát triển bởi Facebook và được phát hành lần đầu tiên vào năm 2016. Nó được tạo ra để cung cấp các tối ưu hóa sản xuất tương tự như TensorFlow trong khi làm cho các mô hình dễ viết hơn

Vì các lập trình viên Python thấy việc sử dụng nó rất tự nhiên nên PyTorch đã nhanh chóng có được người dùng, truyền cảm hứng cho nhóm TensorFlow áp dụng nhiều tính năng phổ biến nhất của PyTorch trong TensorFlow 2. 0

Ai sử dụng PyTorch?

PyTorch nổi tiếng là được sử dụng rộng rãi trong nghiên cứu hơn là sản xuất. Tuy nhiên, kể từ khi được phát hành vào năm sau TensorFlow, PyTorch đã chứng kiến ​​sự gia tăng mạnh mẽ về mức độ sử dụng của các nhà phát triển chuyên nghiệp

Danh sách các “Khuôn khổ, Thư viện và Công cụ khác” phổ biến nhất báo cáo rằng 10. 4 phần trăm các nhà phát triển chuyên nghiệp chọn TensorFlow và 4. 1 phần trăm chọn PyTorch. Trong , tỷ lệ phần trăm là 7. 6 phần trăm cho TensorFlow và chỉ 1. 6 phần trăm cho PyTorch

Đối với nghiên cứu, PyTorch là một lựa chọn phổ biến và các chương trình khoa học máy tính như của Stanford hiện sử dụng nó để dạy học sâu

Kiểu mã và chức năng

PyTorch dựa trên Torch, một khung để thực hiện tính toán nhanh được viết bằng C. Torch có trình bao bọc Lua để xây dựng mô hình

PyTorch kết thúc cùng một mặt sau C trong giao diện Python. Nhưng nó không chỉ là một cái bao bọc. Các nhà phát triển đã xây dựng nó từ đầu để làm cho các mô hình dễ viết cho các lập trình viên Python. Mã C và C++ cơ bản, cấp thấp được tối ưu hóa để chạy mã Python. Vì sự tích hợp chặt chẽ này, bạn có được

  • Bộ nhớ tốt hơn và tối ưu hóa
  • Thông báo lỗi hợp lý hơn
  • Kiểm soát chi tiết hơn cấu trúc mô hình
  • Hành vi mô hình minh bạch hơn
  • Khả năng tương thích tốt hơn với NumPy

Điều đó có nghĩa là bạn có thể viết trực tiếp các thành phần mạng thần kinh tùy chỉnh cao bằng Python mà không phải sử dụng nhiều hàm cấp thấp.

Khả năng thực thi háo hức của PyTorch, đánh giá các hoạt động tensor ngay lập tức và linh hoạt, đã truyền cảm hứng cho TensorFlow 2. 0, vì vậy các API cho cả hai trông rất giống nhau

Việc chuyển đổi các đối tượng NumPy thành tensors được đưa vào cấu trúc dữ liệu cốt lõi của PyTorch. Điều đó có nghĩa là bạn có thể dễ dàng chuyển đổi qua lại giữa

>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
9 đối tượng và
>>> import torch
>>> import numpy as np

>>> x = np.array([[2., 4., 6.]])
>>> y = np.array([[1.], [3.], [5.]])

>>> m = torch.mul(torch.from_numpy(x), torch.from_numpy(y))

>>> m.numpy()
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]])
0 đối tượng

Ví dụ: bạn có thể sử dụng hỗ trợ riêng của PyTorch để chuyển đổi mảng NumPy thành tensors để tạo hai đối tượng

>>> import torch
>>> import numpy as np

>>> x = np.array([[2., 4., 6.]])
>>> y = np.array([[1.], [3.], [5.]])

>>> m = torch.mul(torch.from_numpy(x), torch.from_numpy(y))

>>> m.numpy()
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]])
0, biến mỗi đối tượng thành một đối tượng
>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
9 bằng cách sử dụng
>>> import torch
>>> import numpy as np

>>> x = np.array([[2., 4., 6.]])
>>> y = np.array([[1.], [3.], [5.]])

>>> m = torch.mul(torch.from_numpy(x), torch.from_numpy(y))

>>> m.numpy()
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]])
3, sau đó lấy tích phần tử thông minh của chúng

>>>

>>> import torch
>>> import numpy as np

>>> x = np.array([[2., 4., 6.]])
>>> y = np.array([[1.], [3.], [5.]])

>>> m = torch.mul(torch.from_numpy(x), torch.from_numpy(y))

>>> m.numpy()
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]])

Sử dụng

>>> import torch
>>> import numpy as np

>>> x = np.array([[2., 4., 6.]])
>>> y = np.array([[1.], [3.], [5.]])

>>> m = torch.mul(torch.from_numpy(x), torch.from_numpy(y))

>>> m.numpy()
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]])
4 cho phép bạn in ra kết quả của phép nhân ma trận—là đối tượng
>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
9—dưới dạng đối tượng
>>> import torch
>>> import numpy as np

>>> x = np.array([[2., 4., 6.]])
>>> y = np.array([[1.], [3.], [5.]])

>>> m = torch.mul(torch.from_numpy(x), torch.from_numpy(y))

>>> m.numpy()
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]])
0

Sự khác biệt quan trọng nhất giữa đối tượng

>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
9 và đối tượng
>>> import torch
>>> import numpy as np

>>> x = np.array([[2., 4., 6.]])
>>> y = np.array([[1.], [3.], [5.]])

>>> m = torch.mul(torch.from_numpy(x), torch.from_numpy(y))

>>> m.numpy()
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]])
0 là lớp
>>> import tensorflow as tf

>>> x = [[2., 4., 6.]]
>>> y = [[1.], [3.], [5.]]
>>> m = tf.multiply(x, y)

>>> m
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 2.,  4.,  6.],
       [ 6., 12., 18.],
       [10., 20., 30.]], dtype=float32)>
9 có các phương thức và thuộc tính khác nhau, chẳng hạn như , tính toán độ dốc và khả năng tương thích CUDA

Loại bỏ các quảng cáo

Tính năng đặc biệt

PyTorch thêm một mô-đun C++ để tự động phân biệt vào phụ trợ Torch. Autodifferentiation tự động tính toán độ dốc của các chức năng được xác định trong tf.*1 trong khi

Theo mặc định, PyTorch sử dụng tính toán chế độ háo hức. Bạn có thể chạy một mạng lưới thần kinh khi bạn xây dựng nó, từng dòng một, giúp gỡ lỗi dễ dàng hơn. Nó cũng cho phép xây dựng mạng lưới thần kinh với việc thực thi có điều kiện. Việc thực thi động này trực quan hơn đối với hầu hết các lập trình viên Python

Hệ sinh thái PyTorch

Một số điểm nổi bật về API, tiện ích mở rộng và công cụ hữu ích của hệ sinh thái mở rộng PyTorch bao gồm

  • Nhanh. ai API, giúp xây dựng mô hình cực kỳ dễ dàng một cách nhanh chóng
  • TorchServe, một máy chủ mô hình mã nguồn mở được phát triển với sự hợp tác giữa AWS và Facebook
  • TorchElastic để đào tạo mạng lưới thần kinh sâu ở quy mô lớn bằng Kubernetes
  • PyTorch Hub, một cộng đồng tích cực để chia sẻ và mở rộng các mô hình tiên tiến

Hướng dẫn quyết định PyTorch vs TensorFlow

Việc sử dụng thư viện nào tùy thuộc vào phong cách và sở thích của riêng bạn, dữ liệu và mô hình của bạn cũng như mục tiêu dự án của bạn. Khi bạn bắt đầu dự án của mình với một nghiên cứu nhỏ về thư viện nào hỗ trợ tốt nhất ba yếu tố này, bạn sẽ sẵn sàng để thành công

Phong cách

Nếu bạn là một lập trình viên Python, thì PyTorch sẽ dễ dàng tiếp nhận. Nó hoạt động theo cách bạn mong đợi, ngay lập tức

Mặt khác, nhiều ngôn ngữ lập trình được hỗ trợ trong TensorFlow hơn trong PyTorch, vốn có API C++. Bạn có thể sử dụng TensorFlow trong cả JavaScript và Swift. Nếu bạn không muốn viết nhiều mã cấp thấp, thì Keras sẽ tóm tắt rất nhiều chi tiết cho các trường hợp sử dụng phổ biến để bạn có thể xây dựng các mô hình TensorFlow mà không cần tốn nhiều chi tiết

Dữ liệu và Mô hình

Những mô hình bạn đang sử dụng? . Một số mô hình được đào tạo trước chỉ có sẵn trong thư viện này hoặc thư viện kia và một số mô hình có sẵn trên cả hai. Model Garden và các trung tâm PyTorch và TensorFlow cũng là những tài nguyên tốt để kiểm tra

Bạn cần dữ liệu gì? . Kiểm tra các tài liệu để xem—nó sẽ giúp quá trình phát triển của bạn diễn ra nhanh hơn

Mục tiêu dự án

Mô hình của bạn sẽ sống ở đâu? . Đối với các mô hình phục vụ, TensorFlow tích hợp chặt chẽ với Google Cloud, nhưng PyTorch được tích hợp vào TorchServe trên AWS. Nếu bạn muốn tham gia các cuộc thi Kaggle, thì Keras sẽ cho phép bạn nhanh chóng lặp lại các thử nghiệm

Hãy suy nghĩ về những câu hỏi và ví dụ này khi bắt đầu dự án của bạn. Xác định hai hoặc ba thành phần quan trọng nhất và TensorFlow hoặc PyTorch sẽ nổi lên như một lựa chọn đúng đắn

Phần kết luận

Trong hướng dẫn này, bạn đã được giới thiệu về PyTorch và TensorFlow, xem ai sử dụng chúng và API nào chúng hỗ trợ, đồng thời học cách chọn PyTorch và TensorFlow cho dự án của bạn. Bạn đã thấy các ngôn ngữ lập trình, công cụ, bộ dữ liệu và mô hình khác nhau mà mỗi ngôn ngữ lập trình hỗ trợ và học cách chọn ngôn ngữ nào phù hợp nhất với phong cách và dự án độc đáo của bạn

Trong hướng dẫn này, bạn đã học

  • Sự khác biệt giữa PyTorch và TensorFlow là gì
  • Cách sử dụng tenxơ để tính toán trong mỗi
  • Nền tảng nào là tốt nhất cho các loại dự án khác nhau
  • Những công cụ và dữ liệu nào được hỗ trợ bởi mỗi

Bây giờ bạn đã quyết định sử dụng thư viện nào, bạn đã sẵn sàng bắt đầu xây dựng mạng lưới thần kinh với chúng. Kiểm tra các liên kết trong Đọc thêm để biết ý tưởng

Loại bỏ các quảng cáo

Đọc thêm

Các hướng dẫn sau đây là một cách tuyệt vời để thực hành với PyTorch và TensorFlow

  • Phân loại văn bản thực tế với Python và Keras dạy bạn xây dựng một ứng dụng xử lý ngôn ngữ tự nhiên với PyTorch

  • Thiết lập Python cho Machine Learning trên Windows có thông tin về cách cài đặt PyTorch và Keras trên Windows

  • So sánh hiệu suất Pure Python vs NumPy vs TensorFlow hướng dẫn bạn cách thực hiện giảm độ dốc bằng cách sử dụng TensorFlow và NumPy cũng như cách đánh giá mã của bạn

  • Trình quản lý bối cảnh Python và Tuyên bố “với” sẽ giúp bạn hiểu lý do tại sao bạn cần sử dụng tf.*2 trong TensorFlow 1. 0

  • Mạng đối thủ tạo. Xây dựng các mô hình đầu tiên của bạn sẽ hướng dẫn bạn sử dụng PyTorch để xây dựng một mạng đối thủ chung để tạo các chữ số viết tay

  • Loạt bài Machine Learning in Python là một nguồn tuyệt vời cho nhiều ý tưởng dự án hơn, chẳng hạn như xây dựng công cụ nhận dạng giọng nói hoặc thực hiện nhận dạng khuôn mặt

Đánh dấu là đã hoàn thành

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Chỉ có TensorFlow Python?

Gửi cho tôi thủ thuật Python »

Giới thiệu về Ray Johns

Chỉ có TensorFlow Python?
Chỉ có TensorFlow Python?

Ray là một Pythonista cuồng nhiệt và viết cho Real Python

» Thông tin thêm về Ray


Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Chỉ có TensorFlow Python?

Aldren

Chỉ có TensorFlow Python?

David

Chỉ có TensorFlow Python?

Geir Arne

Chỉ có TensorFlow Python?

Joanna

Chỉ có TensorFlow Python?

Gia-cốp

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

TensorFlow là Python hay Java?

Chúng tôi khuyên dùng Python để sử dụng TensorFlow một cách hiệu quả nhất . Các ngôn ngữ lập trình khác (chẳng hạn như C++ và Java) tương thích nhưng có thể không ổn định bằng. May mắn thay, ngày nay có rất nhiều thư viện Python ML để lựa chọn. Bạn cũng cần có kiến ​​thức chuyên sâu phù hợp về học máy.

TensorFlow là C++ hay Python?

TensorFlow là một thư viện mã nguồn mở thân thiện với Python để tính toán số giúp máy học và phát triển mạng lưới thần kinh nhanh hơn và dễ dàng hơn

Ngôn ngữ nào sử dụng TensorFlow?

TensorFlow là một khung máy học mã nguồn mở và Python là ngôn ngữ lập trình máy tính phổ biến. Đó là một trong những ngôn ngữ được sử dụng trong TensorFlow. Python là ngôn ngữ được đề xuất cho TensorFlow, mặc dù nó cũng sử dụng C++ và JavaScript .

TensorFlow có được sử dụng với C++ không?

Tensorflow được xây dựng bằng C++ và nó cung cấp API để giúp việc triển khai các mô hình (và thậm chí đào tạo các mô hình nếu bạn muốn) trong C++ trở nên tương đối dễ dàng hơn.