detach() возвращает тензор, отвязанный от графа (shared storage); clone() копирует данные, сохраняя историю если был requires_grad.
Разбор
- detach нужен, чтобы остановить градиент через тензор.
- clone+detach часто для безопасного логгирования значений.
- Inplace на detached view может сюрпризить shared storage.
- Для numpy:
x.detach().cpu().numpy().
Итог
detach рвёт autograd; clone копирует значения.