Hướng dẫn dùng np.vstack python
Tôi nghĩ đoạn mã sau minh họa sự khác biệt một cách độc đáo:
Tôi cũng đã đưa vào
Tôi hy vọng chúng ta có thể đồng ý rằng 103 hữu ích 0 bình luận chia sẻ
TL; DR: Đó không phải Vấn đề nằm ở đây:
Trong mã con đường đầu tiên bạn gán một c-contigous mảng float64 1d để Giải thích dài hơnVấn đề là numba suy diễn ngầm các loại biến của bạn. Ví dụ:
Ở đây tôi chưa nhập hàm nên tôi cần chạy nó một lần:
Sau đó, bạn có thể kiểm tra các loại:
Như bạn có thể thấy, biến Bây giờ, hãy sử dụng
Và lệnh gọi đầu tiên bắt buộc để biên dịch nó:
Sau đó kiểm tra lại các loại:
Thời gian Bạn có thể đã tự hỏi mình tại sao tôi lại nói về điều đó. Hãy xem điều gì sẽ xảy ra nếu bạn cố
gắng gán có điều kiện cho
Nếu bây giờ bạn chạy mã:
Đó chính xác là vấn đề bạn gặp phải và đó là bởi vì các biến cần phải có một và chỉ một kiểu trong numba cho một tập hợp các kiểu đầu vào cố định . Và bởi vì loại dtype, thứ hạng (số thứ nguyên) và thuộc tính liền kề đều là một phần của kiểu nên bạn không thể gán các mảng có kích thước khác nhau cho cùng một biến. Lưu ý rằng bạn có thể mở rộng các kích thước để làm cho nó hoạt động và ép lại các kích thước không cần thiết từ kết quả (có thể không đẹp lắm nhưng nó sẽ giải quyết được vấn đề với số lượng "thay đổi" tối thiểu:
13 hữu ích 1 bình luận chia sẻ |