tensorneko 0.3.17__tar.gz → 0.3.19__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. {tensorneko-0.3.17 → tensorneko-0.3.19}/PKG-INFO +1 -1
  2. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/io/reader.py +12 -1
  3. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/io/weight/weight_reader.py +20 -10
  4. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/io/weight/weight_writer.py +19 -8
  5. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/io/writer.py +12 -1
  6. tensorneko-0.3.19/src/tensorneko/notebook/__init__.py +7 -0
  7. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/util/__init__.py +4 -2
  8. tensorneko-0.3.19/src/tensorneko/version.txt +1 -0
  9. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko.egg-info/PKG-INFO +1 -1
  10. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko.egg-info/requires.txt +1 -1
  11. tensorneko-0.3.17/src/tensorneko/notebook/__init__.py +0 -7
  12. tensorneko-0.3.17/src/tensorneko/version.txt +0 -1
  13. {tensorneko-0.3.17 → tensorneko-0.3.19}/README.md +0 -0
  14. {tensorneko-0.3.17 → tensorneko-0.3.19}/setup.cfg +0 -0
  15. {tensorneko-0.3.17 → tensorneko-0.3.19}/setup.py +0 -0
  16. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/__init__.py +0 -0
  17. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/arch/__init__.py +0 -0
  18. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/arch/auto_encoder.py +0 -0
  19. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/arch/binary_classifier.py +0 -0
  20. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/arch/gan.py +0 -0
  21. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/arch/vqvae.py +0 -0
  22. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/arch/wgan.py +0 -0
  23. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/backend/__init__.py +0 -0
  24. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/callback/__init__.py +0 -0
  25. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/callback/display_metrics_callback.py +0 -0
  26. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/callback/earlystop_lr.py +0 -0
  27. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/callback/epoch_num_logger.py +0 -0
  28. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/callback/epoch_time_logger.py +0 -0
  29. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/callback/gpu_stats_logger.py +0 -0
  30. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/callback/lr_logger.py +0 -0
  31. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/callback/nil_callback.py +0 -0
  32. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/callback/system_stats_logger.py +0 -0
  33. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/dataset/__init__.py +0 -0
  34. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/dataset/list_dataset.py +0 -0
  35. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/dataset/nested_dataset.py +0 -0
  36. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/dataset/round_robin_dataset.py +0 -0
  37. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/dataset/sampler/__init__.py +0 -0
  38. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/dataset/sampler/sequential_iter_sampler.py +0 -0
  39. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/debug/__init__.py +0 -0
  40. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/evaluation/__init__.py +0 -0
  41. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/evaluation/enum.py +0 -0
  42. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/evaluation/fid.py +0 -0
  43. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/evaluation/iou.py +0 -0
  44. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/evaluation/psnr.py +0 -0
  45. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/evaluation/secs.py +0 -0
  46. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/evaluation/ssim.py +0 -0
  47. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/io/__init__.py +0 -0
  48. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/io/mesh/__init__.py +0 -0
  49. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/io/mesh/mesh_reader.py +0 -0
  50. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/io/mesh/mesh_writer.py +0 -0
  51. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/io/weight/__init__.py +0 -0
  52. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/__init__.py +0 -0
  53. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/aggregation.py +0 -0
  54. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/attention.py +0 -0
  55. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/concatenate.py +0 -0
  56. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/conv.py +0 -0
  57. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/linear.py +0 -0
  58. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/log.py +0 -0
  59. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/masked_conv2d.py +0 -0
  60. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/noise.py +0 -0
  61. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/patching.py +0 -0
  62. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/positional_embedding.py +0 -0
  63. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/reshape.py +0 -0
  64. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/stack.py +0 -0
  65. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/layer/vector_quantizer.py +0 -0
  66. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/module/__init__.py +0 -0
  67. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/module/dense.py +0 -0
  68. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/module/gated_conv.py +0 -0
  69. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/module/inception.py +0 -0
  70. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/module/mlp.py +0 -0
  71. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/module/residual.py +0 -0
  72. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/module/transformer.py +0 -0
  73. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/msg/__init__.py +0 -0
  74. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/neko_model.py +0 -0
  75. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/neko_module.py +0 -0
  76. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/neko_trainer.py +0 -0
  77. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/optim/__init__.py +0 -0
  78. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/optim/lr_scheduler/__init__.py +0 -0
  79. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/preprocess/__init__.py +0 -0
  80. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/preprocess/crop.py +0 -0
  81. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/preprocess/enum.py +0 -0
  82. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/preprocess/face_detector/__init__.py +0 -0
  83. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/preprocess/pad.py +0 -0
  84. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/preprocess/resize.py +0 -0
  85. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/util/configuration.py +0 -0
  86. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/util/dispatched_misc.py +0 -0
  87. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/util/gc.py +0 -0
  88. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/util/misc.py +0 -0
  89. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/util/reproducibility.py +0 -0
  90. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/util/string_getter.py +0 -0
  91. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/util/type.py +0 -0
  92. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/visualization/__init__.py +0 -0
  93. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/visualization/image_browser/__init__.py +0 -0
  94. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/visualization/log_graph.py +0 -0
  95. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/visualization/matplotlib.py +0 -0
  96. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko/visualization/watcher/__init__.py +0 -0
  97. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko.egg-info/SOURCES.txt +0 -0
  98. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko.egg-info/dependency_links.txt +0 -0
  99. {tensorneko-0.3.17 → tensorneko-0.3.19}/src/tensorneko.egg-info/top_level.txt +0 -0
  100. {tensorneko-0.3.17 → tensorneko-0.3.19}/test/test_library_info.py +0 -0
  101. {tensorneko-0.3.17 → tensorneko-0.3.19}/test/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tensorneko
3
- Version: 0.3.17
3
+ Version: 0.3.19
4
4
  Summary: Tensor Neural Engine Kompanion. An util library based on PyTorch and PyTorch Lightning.
5
5
  Home-page: https://github.com/ControlNet/tensorneko
6
6
  Author: ControlNet
@@ -1,6 +1,9 @@
1
1
  from __future__ import annotations
2
- from typing import Type
3
2
 
3
+ from pathlib import Path
4
+ from typing import Type, Union, Any
5
+
6
+ from tensorneko_util.io._path_conversion import _path2str
4
7
  from tensorneko_util.io.reader import Reader as BaseReader
5
8
  from .weight import WeightReader
6
9
 
@@ -28,3 +31,11 @@ class Reader(BaseReader):
28
31
  return self._mesh
29
32
  else:
30
33
  raise ImportError("To use the mesh reader, please install pytorch3d.")
34
+
35
+ def __call__(self, path: Union[str, Path], *args, **kwargs) -> Any:
36
+ """Automatically infer the file type and return the corresponding result. """
37
+ path = _path2str(path)
38
+ if path.endswith(".pt") or path.endswith(".pth") or path.endswith(".ckpt") or path.endswith(".safetensors"):
39
+ return self.weight(path, *args, **kwargs)
40
+ else:
41
+ return super().__call__(path, *args, **kwargs)
@@ -1,7 +1,9 @@
1
- from typing import OrderedDict
1
+ from typing import OrderedDict, Union
2
+ from pathlib import Path
2
3
 
3
4
  import torch
4
5
 
6
+ from tensorneko_util.io._path_conversion import _path2str
5
7
  from ...util import Device
6
8
 
7
9
 
@@ -9,45 +11,48 @@ class WeightReader:
9
11
  """WeightReader for read model weights (checkpoints, state_dict, etc)."""
10
12
 
11
13
  @classmethod
12
- def of_pt(cls, path: str, map_location: Device = "cpu") -> OrderedDict[str, torch.Tensor]:
14
+ def of_pt(cls, path: Union[str, Path], map_location: Device = "cpu") -> OrderedDict[str, torch.Tensor]:
13
15
  """
14
16
  Reads PyTorch model weights from a `.pt` or `.pth` file.
15
17
 
16
18
  Args:
17
- path (``str``): The path of the `.pt` or `.pth` file.
19
+ path (``str`` | ``pathlib.Path``): The path of the `.pt` or `.pth` file.
18
20
  map_location (:class:`torch.device` | ``str``): The location to load the model weights. Default: "cpu"
19
21
 
20
22
  Returns:
21
23
  :class:`collections.OrderedDict`[``str``, :class:`torch.Tensor`]: The model weights.
22
24
  """
25
+ path = _path2str(path)
23
26
  return torch.load(path, map_location=map_location)
24
27
 
25
28
  @classmethod
26
- def of_ckpt(cls, path: str, map_location: Device = "cpu") -> OrderedDict[str, torch.Tensor]:
29
+ def of_ckpt(cls, path: Union[str, Path], map_location: Device = "cpu") -> OrderedDict[str, torch.Tensor]:
27
30
  """
28
31
  Reads PyTorch model weights from a `.ckpt` file.
29
32
 
30
33
  Args:
31
- path (``str``): The path of the `.ckpt` file.
34
+ path (``str`` | ``pathlib.Path``): The path of the `.ckpt` file.
32
35
  map_location (:class:`torch.device` | ``str``): The location to load the model weights. Default: "cpu"
33
36
 
34
37
  Returns:
35
38
  :class:`collections.OrderedDict`[``str``, :class:`torch.Tensor`]: The model weights.
36
39
  """
40
+ path = _path2str(path)
37
41
  return torch.load(path, map_location=map_location)["state_dict"]
38
42
 
39
43
  @classmethod
40
- def of_safetensors(cls, path: str, map_location: str = "cpu") -> OrderedDict[str, torch.Tensor]:
44
+ def of_safetensors(cls, path: Union[str, Path], map_location: str = "cpu") -> OrderedDict[str, torch.Tensor]:
41
45
  """
42
46
  Reads model weights from a `.safetensors` file.
43
47
 
44
48
  Args:
45
- path (``str``): The path of the `.safetensors` file.
49
+ path (``str`` | ``pathlib.Path``): The path of the `.safetensors` file.
46
50
  map_location (``str``): The location to load the model weights. Default: "cpu"
47
51
 
48
52
  Returns:
49
53
  :class:`collections.OrderedDict`[``str``, :class:`torch.Tensor`]: The model weights.
50
54
  """
55
+ path = _path2str(path)
51
56
  import safetensors
52
57
  from collections import OrderedDict
53
58
  tensors = OrderedDict()
@@ -57,18 +62,18 @@ class WeightReader:
57
62
  return tensors
58
63
 
59
64
  @classmethod
60
- def of(cls, path: str, map_location: Device = "cpu") -> OrderedDict[str, torch.Tensor]:
65
+ def of(cls, path: Union[str, Path], map_location: Device = "cpu") -> OrderedDict[str, torch.Tensor]:
61
66
  """
62
67
  Reads model weights from a file.
63
68
 
64
69
  Args:
65
- path (``str``): The path of the file.
70
+ path (``str`` | ``pathlib.Path``): The path of the file.
66
71
  map_location (:class:`torch.device` | ``str``): The location to load the model weights. Default: "cpu"
67
72
 
68
73
  Returns:
69
74
  :class:`collections.OrderedDict`[``str``, :class:`torch.Tensor`]: The model weights.
70
75
  """
71
-
76
+ path = _path2str(path)
72
77
  if path.endswith(".pt") or path.endswith(".pth"):
73
78
  return cls.of_pt(path, map_location)
74
79
  elif path.endswith(".ckpt"):
@@ -79,3 +84,8 @@ class WeightReader:
79
84
  return cls.of_safetensors(path, map_location)
80
85
  else:
81
86
  raise ValueError("Unknown file type. Supported types: .pt, .pth, .ckpt, .safetensors")
87
+
88
+ def __new__(cls, path: Union[str, Path], map_location: Device = "cpu") -> OrderedDict[str, torch.Tensor]:
89
+ """Alias of :meth:`~tensorneko.io.weight.weight_reader.WeightReader.of`."""
90
+ path = _path2str(path)
91
+ return cls.of(path, map_location)
@@ -1,48 +1,59 @@
1
- from typing import Dict
1
+ from typing import Dict, Union
2
+ from pathlib import Path
2
3
 
3
4
  import torch
4
5
 
6
+ from tensorneko_util.io._path_conversion import _path2str
7
+ from ...util import Device
5
8
 
6
9
  class WeightWriter:
7
10
  """WeightWriter for write model weights (checkpoints, state_dict, etc)."""
8
11
 
9
12
  @classmethod
10
- def to_pt(cls, path: str, weights: Dict[str, torch.Tensor]) -> None:
13
+ def to_pt(cls, path: Union[str, Path], weights: Dict[str, torch.Tensor]) -> None:
11
14
  """
12
15
  Writes PyTorch model weights to a `.pt` or `.pth` file.
13
16
 
14
17
  Args:
15
- path (``str``): The path of the `.pt` or `.pth` file.
18
+ path (``str`` | ``pathlib.Path``): The path of the `.pt` or `.pth` file.
16
19
  weights (:class:`collections.OrderedDict`[``str``, :class:`torch.Tensor`]): The model weights.
17
20
  """
21
+ path = _path2str(path)
18
22
  torch.save(weights, path)
19
23
 
20
24
  @classmethod
21
- def to_safetensors(cls, path: str, weights: Dict[str, torch.Tensor]) -> None:
25
+ def to_safetensors(cls, path: Union[str, Path], weights: Dict[str, torch.Tensor]) -> None:
22
26
  """
23
27
  Writes model weights to a `.safetensors` file.
24
28
 
25
29
  Args:
26
- path (``str``): The path of the `.safetensors` file.
30
+ path (``str`` | ``pathlib.Path``): The path of the `.safetensors` file.
27
31
  weights (:class:`collections.OrderedDict`[``str``, :class:`torch.Tensor`]): The model weights.
28
32
  """
33
+ path = _path2str(path)
29
34
  import safetensors.torch
30
35
  safetensors.torch.save_file(weights, path)
31
36
 
32
37
  @classmethod
33
- def to(cls, path: str, weights: Dict[str, torch.Tensor]) -> None:
38
+ def to(cls, path: Union[str, Path], weights: Dict[str, torch.Tensor]) -> None:
34
39
  """
35
40
  Writes model weights to a file.
36
41
 
37
42
  Args:
38
- path (``str``): The path of the file.
43
+ path (``str`` | ``pathlib.Path``): The path of the file.
39
44
  weights (:class:`collections.OrderedDict`[``str``, :class:`torch.Tensor`]): The model weights.
40
45
  """
46
+ path = _path2str(path)
41
47
  file_type = path.split(".")[-1]
42
48
 
43
- if file_type == "pt":
49
+ if file_type in ("pt", "pth"):
44
50
  cls.to_pt(path, weights)
45
51
  elif file_type == "safetensors":
46
52
  cls.to_safetensors(path, weights)
47
53
  else:
48
54
  raise ValueError("Unknown file type. Supported types: .pt, .safetensors")
55
+
56
+ def __new__(cls, path: Union[str, Path], weights: Dict[str, torch.Tensor]) -> None:
57
+ """Alias of :meth:`~tensorneko.io.weight.weight_writer.WeightWriter.to`."""
58
+ path = _path2str(path)
59
+ return cls.to(path, weights)
@@ -1,7 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Type
3
+ from pathlib import Path
4
+ from typing import Type, Union
4
5
 
6
+ from tensorneko_util.io._path_conversion import _path2str
5
7
  from tensorneko_util.io.writer import Writer as BaseWriter
6
8
  from .weight import WeightWriter
7
9
 
@@ -29,3 +31,12 @@ class Writer(BaseWriter):
29
31
  return self._mesh
30
32
  else:
31
33
  raise ImportError("To use the mesh writer, please install pytorch3d.")
34
+
35
+ def __call__(self, path: Union[str, Path], obj, *args, **kwargs):
36
+ """Automatically infer the file type and return the corresponding result. """
37
+ path = _path2str(path)
38
+
39
+ if path.endswith(".pt") or path.endswith(".pth") or path.endswith(".ckpt") or path.endswith(".safetensors"):
40
+ return self.weight(path, obj)
41
+ else:
42
+ return super().__call__(path, obj, *args, **kwargs)
@@ -0,0 +1,7 @@
1
+ from tensorneko_util.notebook import ipython_available
2
+
3
+ __all__ = []
4
+
5
+ if ipython_available:
6
+ from tensorneko_util.notebook import display, animation
7
+ __all__.extend(["display", "animation"])
@@ -4,7 +4,8 @@ from tensorneko_util.util import dispatch, AverageMeter, tensorneko_util_path
4
4
  from tensorneko_util.util.fp import Seq, AbstractSeq, curry, F, Stream, return_option, Option, Monad, Eval, _, __
5
5
  from tensorneko_util.util import ref, Timer, Singleton
6
6
  from tensorneko_util.util.eventbus import Event, EventBus, EventHandler, subscribe
7
- from tensorneko_util.util import download_file, download_file_thread, download_files_thread, WindowMerger, Registry
7
+ from tensorneko_util.util import download_file, download_file_thread, download_files_thread, WindowMerger, Registry, \
8
+ MultiLayerIndexer
8
9
  from . import type
9
10
  from .configuration import Configuration
10
11
  from .misc import reduce_dict_by, summarize_dict_by, with_printed_shape, is_bad_num, count_parameters, compose, \
@@ -78,5 +79,6 @@ __all__ = [
78
79
  "download_files_thread",
79
80
  "WindowMerger",
80
81
  "Registry",
81
- "run_gc"
82
+ "run_gc",
83
+ "MultiLayerIndexer"
82
84
  ]
@@ -0,0 +1 @@
1
+ 0.3.19
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tensorneko
3
- Version: 0.3.17
3
+ Version: 0.3.19
4
4
  Summary: Tensor Neural Engine Kompanion. An util library based on PyTorch and PyTorch Lightning.
5
5
  Home-page: https://github.com/ControlNet/tensorneko
6
6
  Author: ControlNet
@@ -2,7 +2,7 @@ av>=8.0.3
2
2
  einops>=0.3.0
3
3
  numpy>=1.20.1
4
4
  pillow>=8.1
5
- tensorneko_util==0.3.17
5
+ tensorneko_util==0.3.19
6
6
  torch>=1.9.0
7
7
  torchaudio>=0.9.0
8
8
  torchmetrics>=0.7.3
@@ -1,7 +0,0 @@
1
- from tensorneko_util.notebook import ipython_available
2
-
3
- __all__ = []
4
-
5
- if ipython_available:
6
- from tensorneko_util.notebook import display
7
- __all__.append("display")
@@ -1 +0,0 @@
1
- 0.3.17
File without changes
File without changes
File without changes