Tôi có hai mảng numpy và tôi đang cố gắng chia một với nhau và cùng một lúc, tôi muốn đảm bảo rằng các mục mà số chia là 0, chỉ nên được thay thế bằng 0.numpy: Giá trị không hợp lệ gặp phải trong true_divide
Vì vậy, tôi làm điều gì đó như:
log_norm_images = np.where(b_0 > 0, np.divide(diff_images, b_0), 0)
này mang lại cho tôi một lời cảnh báo thời gian chạy của:
RuntimeWarning: invalid value encountered in true_divide
Bây giờ, tôi muốn nhìn thấy những gì đang xảy ra và tôi đã làm tiếp theo:
xx = np.isfinite(diff_images)
print (xx[xx == False])
xx = np.isfinite(b_0)
print (xx[xx == False])
Tuy nhiên, cả hai giá trị này đều có nghĩa là tất cả các giá trị trong mảng đều hữu hạn. Vì vậy, tôi không chắc chắn giá trị không hợp lệ đến từ đâu. Tôi giả sử kiểm tra b_0> 0 trong hàm np.where sẽ phân chia số chia cho 0.
Hình dạng của hai mảng là (96, 96, 55, 64) và (96, 96, 55, 1)
Tại sao 'xx' là' Sai' và một lệnh chính tả? – seequ
Tôi nghĩ rằng isfinite trả về một mảng boolean. Vì vậy, tôi đang tìm những nơi mà các giá trị là không hữu hạn. – Luca
Thử '[x cho x trong xx nếu x == Sai]'. Bạn chỉ đang cố lấy khóa 'False' – seequ