Tôi đã gặp sự cố, trong đó Python thoát đột ngột, khi chạy đa xử lý có nhiều nút. Tôi đã cô lập các vấn đề, vì vậy mà tôi bây giờ có thể khẳng định rằng đa hoạt động hoàn hảo khi chạy mã được nêu dưới đây:Quá trình xử lý đa phần có thể làm cho Python thoát bất ngờ trên OSX
import numpy as np
from multiprocessing import Pool, Process
import time
import cPickle as p
def test(args):
x,i = args
if i == 2:
time.sleep(4)
arr = np.dot(x.T,x)
print i
if __name__ == '__main__':
x = np.random.random(size=((2000,500)))
evaluations = [(x,i) for i in range(5)]
p = Pool()
p.map_async(test,evaluations)
p.close()
p.join()
Vấn đề xảy ra khi tôi cố gắng để đánh giá các mã dưới đây. Điều này làm cho Python thoát đột ngột:
import numpy as np
from multiprocessing import Pool, Process
import time
import cPickle as p
def test(args):
x,i = args
if i == 2:
time.sleep(4)
arr = np.dot(x.T,x)
print i
if __name__ == '__main__':
x = np.random.random(size=((2000,500)))
test((x,4)) # Added code
evaluations = [(x,i) for i in range(5)]
p = Pool()
p.map_async(test,evaluations)
p.close()
p.join()
Hãy giúp đỡ ai đó. Tôi đang mở cho tất cả các đề xuất. Cảm ơn. Lưu ý: Tôi đã thử hai máy khác nhau và cùng một vấn đề xảy ra.
tôi chạy mã của bạn trên Windows7/64bit sử dụng WinPython. Cả hai trường hợp được thực hiện và thoát mà không có lỗi. – alandarev
Xin lỗi vì điều đó. Thú vị là nó hoạt động trên Windows. Bất kỳ người dùng Apple nào có thể giải thích cho tôi tại sao điều này xảy ra? – Maal
Tôi có thể đã đánh lừa bạn, khi làm cho cơn thịnh nộ của tôi bình luận về Apple bằng cách sử dụng "bất ngờ" hạn ở khắp mọi nơi. Tôi hightly nghi ngờ vấn đề của bạn là hệ điều hành cụ thể. Bạn có thể thử chạy tập lệnh bạn đã đăng với Python sạch bằng cài đặt gọn gàng để xem sự cố có tiếp diễn không? – alandarev