Unverified Commit d104dd46 authored by Stas Bekman's avatar Stas Bekman Committed by GitHub
Browse files

[trainer] support UserDict inputs (torch-nightly) (#14688)

parent 12286612
...@@ -27,6 +27,7 @@ import shutil ...@@ -27,6 +27,7 @@ import shutil
import sys import sys
import time import time
import warnings import warnings
from collections.abc import Mapping
from pathlib import Path from pathlib import Path
from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Tuple, Union from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Tuple, Union
...@@ -1813,8 +1814,8 @@ class Trainer: ...@@ -1813,8 +1814,8 @@ class Trainer:
""" """
Prepares one :obj:`data` before feeding it to the model, be it a tensor or a nested list/dictionary of tensors. Prepares one :obj:`data` before feeding it to the model, be it a tensor or a nested list/dictionary of tensors.
""" """
if isinstance(data, dict): if isinstance(data, Mapping):
return type(data)(**{k: self._prepare_input(v) for k, v in data.items()}) return type(data)({k: self._prepare_input(v) for k, v in data.items()})
elif isinstance(data, (tuple, list)): elif isinstance(data, (tuple, list)):
return type(data)(self._prepare_input(v) for v in data) return type(data)(self._prepare_input(v) for v in data)
elif isinstance(data, torch.Tensor): elif isinstance(data, torch.Tensor):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment