/
usr
/
local
/
lib64
/
python3.6
/
site-packages
/
torch
/
/usr/local/lib64/python3.6/site-packages/torch
mkdir
upload
Name
Size
Mode
Actions
ao/
-
0755
rm
autograd/
-
0755
rm
backends/
-
0755
rm
bin/
-
0755
rm
contrib/
-
0755
rm
cpu/
-
0755
rm
cuda/
-
0755
rm
distributed/
-
0755
rm
distributions/
-
0755
rm
fft/
-
0755
rm
for_onnx/
-
0755
rm
futures/
-
0755
rm
fx/
-
0755
rm
include/
-
0755
rm
jit/
-
0755
rm
lib/
-
0755
rm
linalg/
-
0755
rm
multiprocessing/
-
0755
rm
nn/
-
0755
rm
onnx/
-
0755
rm
optim/
-
0755
rm
package/
-
0755
rm
profiler/
-
0755
rm
quantization/
-
0755
rm
share/
-
0755
rm
sparse/
-
0755
rm
special/
-
0755
rm
testing/
-
0755
rm
utils/
-
0755
rm
_C/
-
0755
rm
__pycache__/
-
0755
rm
autocast_mode.py
9663
0644
edit
dl
rm
functional.py
71257
0644
edit
dl
rm
hub.py
23371
0644
edit
dl
rm
overrides.py
84146
0644
edit
dl
rm
py.typed
0
0644
edit
dl
rm
quasirandom.py
7489
0644
edit
dl
rm
random.py
4828
0644
edit
dl
rm
serialization.py
36544
0644
edit
dl
rm
storage.py
5762
0644
edit
dl
rm
torch_version.py
3468
0644
edit
dl
rm
types.py
1552
0644
edit
dl
rm
version.py
125
0644
edit
dl
rm
_appdirs.py
26245
0644
edit
dl
rm
_C.cpython-36m-x86_64-linux-gnu.so
29296
0755
edit
dl
rm
_classes.py
1717
0644
edit
dl
rm
_deploy.py
3100
0644
edit
dl
rm
_dl.cpython-36m-x86_64-linux-gnu.so
29832
0755
edit
dl
rm
_jit_internal.py
46910
0644
edit
dl
rm
_linalg_utils.py
2373
0644
edit
dl
rm
_lobpcg.py
44076
0644
edit
dl
rm
_lowrank.py
11031
0644
edit
dl
rm
_namedtensor_internals.py
5351
0644
edit
dl
rm
_ops.py
4457
0644
edit
dl
rm
_python_dispatcher.py
7011
0644
edit
dl
rm
_six.py
1858
0644
edit
dl
rm
_sources.py
3882
0644
edit
dl
rm
_storage_docs.py
1298
0644
edit
dl
rm
_tensor.py
50854
0644
edit
dl
rm
_tensor_docs.py
113474
0644
edit
dl
rm
_tensor_str.py
18091
0644
edit
dl
rm
_torch_docs.py
364678
0644
edit
dl
rm
_utils.py
21617
0644
edit
dl
rm
_utils_internal.py
1687
0644
edit
dl
rm
_VF.py
656
0644
edit
dl
rm
_vmap_internals.py
13219
0644
edit
dl
rm
__config__.py
551
0644
edit
dl
rm
__future__.py
813
0644
edit
dl
rm
__init__.py
31199
0644
edit
dl
rm
Edit:
/usr/local/lib64/python3.6/site-packages/torch/_sources.py
(3882B)
import ast import functools import inspect from textwrap import dedent from typing import Any, Optional, Tuple, List, NamedTuple from torch._C import ErrorReport from torch._C._jit_tree_views import SourceRangeFactory def get_source_lines_and_file( obj: Any, error_msg: Optional[str] = None, ) -> Tuple[List[str], int, Optional[str]]: """ Wrapper around inspect.getsourcelines and inspect.getsourcefile. Returns: (sourcelines, file_lino, filename) """ filename = None # in case getsourcefile throws try: filename = inspect.getsourcefile(obj) sourcelines, file_lineno = inspect.getsourcelines(obj) except OSError as e: msg = (f"Can't get source for {obj}. TorchScript requires source access in " "order to carry out compilation, make sure original .py files are " "available.") if error_msg: msg += '\n' + error_msg raise OSError(msg) from e return sourcelines, file_lineno, filename def normalize_source_lines(sourcelines: List[str]) -> List[str]: """ This helper function accepts a list of source lines. It finds the indentation level of the function definition (`def`), then it indents all lines in the function body to a point at or greater than that level. This allows for comments and continued string literals that are at a lower indentation than the rest of the code. Args: sourcelines: function source code, separated into lines by the '\n' character Returns: A list of source lines that have been correctly aligned """ def remove_prefix(text, prefix): return text[text.startswith(prefix) and len(prefix):] # Find the line and line number containing the function definition for i, l in enumerate(sourcelines): if l.lstrip().startswith("def"): idx = i break fn_def = sourcelines[idx] # Get a string representing the amount of leading whitespace whitespace = fn_def.split("def")[0] # Add this leading whitespace to all lines before and after the `def` aligned_prefix = [whitespace + remove_prefix(s, whitespace) for s in sourcelines[:idx]] aligned_suffix = [whitespace + remove_prefix(s, whitespace) for s in sourcelines[idx + 1:]] # Put it together again aligned_prefix.append(fn_def) return aligned_prefix + aligned_suffix # Thin wrapper around SourceRangeFactory to store extra metadata # about the function-to-be-compiled. class SourceContext(SourceRangeFactory): def __init__(self, source, filename, file_lineno, leading_whitespace_len, uses_true_division=True): super(SourceContext, self).__init__(source, filename, file_lineno, leading_whitespace_len) self.uses_true_division = uses_true_division self.filename = filename @functools.lru_cache(maxsize=None) def make_source_context(*args): return SourceContext(*args) def fake_range(): return SourceContext('', None, 0, 0).make_raw_range(0, 1) class ParsedDef(NamedTuple): ast: ast.Module ctx: SourceContext source: str filename: Optional[str] file_lineno: int def parse_def(fn): sourcelines, file_lineno, filename = get_source_lines_and_file(fn, ErrorReport.call_stack()) sourcelines = normalize_source_lines(sourcelines) source = ''.join(sourcelines) dedent_src = dedent(source) py_ast = ast.parse(dedent_src) if len(py_ast.body) != 1 or not isinstance(py_ast.body[0], ast.FunctionDef): raise RuntimeError(f"Expected a single top-level function: {filename}:{file_lineno}") leading_whitespace_len = len(source.split('\n', 1)[0]) - len(dedent_src.split('\n', 1)[0]) ctx = make_source_context(source, filename, file_lineno, leading_whitespace_len, True) return ParsedDef(py_ast, ctx, source, filename, file_lineno)
Save
cmd:
run