2 ГБ памяти GPU на вашей памяти слишком мало для такой огромной модели, как ResNet-101.
Вот руководство Delphi по внутренним ошибкам , которое, возможно, поможет вам. Внутреннюю ошибку часто можно устранить, удалив файлы DCU, перезапустив IDE или не используя инструмент, ускоряющий запуск Delphi (например, DelphiSpeedUp).
Но в большинстве случаев это странная ошибка в компиляторе Delphi, и если вы знаете, обойти это, и это не будет дорогостоящим, делай это и будь счастлив. Однажды у меня произошел сбой консольной версии dcc32 (отлично скомпилированная IDE), когда я увеличил переменную с помощью Inc и, используя добавление вместо Inc, решил проблему ...
Лучше всего сообщить об этом в CodeGear. Это действительно помогает, если вы можете найти способ постоянно вызывать ошибку, чтобы они могли легче ее отследить.
Все внутренние ошибки - это вещи, которые не должны были случиться, но произошли. Проверьте QC и, если его там нет, сообщите об этом. Если вы можете предоставить способ воспроизвести его, который повысит вероятность его исправления.
Обычно для внутренних ошибок я делаю полную сборку или перезапускаю Delphi.
У меня была эта ошибка в одном случае:
procedure TDMData.SetValue(AValue: Word);
var
prevValue: Word;
method: TMethod;
begin
if FValue = AValue then
Exit;
prevValue := FValue;
FValue := AValue;
for method in FValueChangeEvent.Notifications do
TDMDataValueChangeNotification(method)(Self, AValue, prevValue);
end; // <--- Fatal: F2084 Internal Error: T2575
И свойство GetNotifications Notifications, и GetEnumerator Метод записи, возвращаемой GetNotifications, имел встроенную директиву. Проблема исчезла только после удаления встроенной строки из GetEnumerator.
Примечание: подобные функции не вызывали эту внутреннюю ошибку!