Học máy - Bắt đầu

Ufunc là gì?

Ufunc là từ viết tắt của “Universal Functions” (hàm thông dụng), chúng là các hàm NumPy để thực hiện các thao tác trên các đối tượng ndarray.

Tại sao lại sử dụng ufunc?

Ufunc được sử dụng để thực hiện vectorization trong NumPy, điều này nhanh hơn nhiều so với việc lặp qua các phần tử.

Họ cũng cung cấp các phương pháp khác như broadcast và cộng dồn, rất hữu ích cho tính toán.

Ufunc cũng chấp nhận các tham số khác, chẳng hạn như:

where Mảng giá trị布尔 hoặc điều kiện, được sử dụng để xác định nơi thực hiện hoạt động.

dtype Định nghĩa loại trả về của phần tử.

out Giá trị trả về nên được sao chép vào mảng đầu ra.

Vector hóa là gì?

Việc chuyển đổi câu lệnh迭代 thành các hoạt động dựa trên vector gọi là vector hóa.

Do CPU hiện đại đã được tối ưu hóa cho các loại hoạt động này, vì vậy tốc độ nhanh hơn.

Cộng các phần tử của hai danh sách:

Danh sách 1: [1, 2, 3, 4]

Danh sách 2: [4, 5, 6, 7]

Một cách là duyệt qua hai danh sách, sau đó cộng từng phần tử.

Mô Hình

Nếu không có ufunc, chúng ta có thể sử dụng các hàm tích hợp sẵn của Python zip() Phương Thức:

x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
for i, j in zip(x, y):
  z.append(i + j)
print(z)

Chạy Mô Hình

Đối với điều này, NumPy có một ufunc có tên là add(x, y)nó sẽ xuất ra kết quả tương tự.

Mô Hình

Bằng ufunc, chúng ta có thể sử dụng add() Hàm:

import numpy as np
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)
print(z)

Chạy Mô Hình