Tôi cho rằng đây là lỗi trong TensorflowSharp.
Lỗi có vẻ như vi phạm quyền truy cập thường xuyên không nhất quán trong mã CLR (thường xảy ra dưới tải nặng hoặc số lần thử ngẫu nhiên). Trích dẫn từ Microsoft docs:
Các callbackOnCollectedDelegate
quản lý gỡ lỗi trợ lý (MDA) được kích hoạt nếu một đại biểu được marshaled từ quản lý đến mã không được quản lý như một con trỏ hàm và gọi lại được đặt vào đó chức năng con trỏ sau khi các đại biểu đã được thu gom rác.
Loại lỗi này xảy ra khi đại biểu mà từ đó con trỏ hàm được tạo và tiếp xúc với mã không được quản lý là rác được thu thập. Khi thành phần không được quản lý cố gắng gọi trên con trỏ hàm, nó tạo ra một sự vi phạm truy cập. Sự thất bại xuất hiện ngẫu nhiên bởi vì nó phụ thuộc vào khi thu gom rác xảy ra.
Độ phân giải có thể khó khăn, vì khi một đại biểu đã được sắp xếp thành một con trỏ hàm không được quản lý, bộ thu gom rác không thể theo dõi tuổi thọ của nó. Thay vào đó, nó là cần thiết để giữ một tham chiếu đến các đại biểu cho đời của con trỏ hàm không được quản lý. Để làm điều này, đại biểu bị lỗi đã được thu thập, phải được xác định trong mã của TensorFlowShapr (hoặc mã của bạn).
Bạn cũng có thể bật MDA gcUnmanagedToManaged để buộc thu gom rác thải trước mỗi lần gọi lại vào thời gian chạy. Điều này sẽ loại bỏ sự không chắc chắn được giới thiệu bởi bộ sưu tập rác bằng cách đảm bảo rằng một bộ sưu tập rác luôn xảy ra trước khi gọi lại. Khi bạn đã biết đại biểu nào được thu thập, hãy thay đổi mã của bạn để giữ tham chiếu đến ủy quyền đó ở bên được quản lý trong suốt thời gian của con trỏ chức năng không được quản lý không được quản lý.
Vì vậy, tôi đoán tốt nhất là báo cáo điều này với nhà sản xuất thư viện.
https://github.com/pythonnet/pythonnet/issues/473 – denfromufa
@Bruno Vấn đề thực sự là gì? – wp78de