Я не могу найти никаких инструкций или учебных пособий по началу работы с jaxtyping. Я попробовал самую простую программу, но она не смогла проанализировать. Я использую Python 3.11. В проекте jaxtyping на GitHub я не вижу ничего о верхней границе (нижняя граница — Python 3.9), и похоже, что она активно поддерживается (последний коммит был 8 часов назад).
Какой шаг я пропустил?
jaxtyping==0.2.36
torch==2.5.1
typeguard==4.4.1
from typeguard import typechecked
from jaxtyping import Float
from torch import Tensor
@typechecked
def matmul(a: Float[Tensor, "m n"], b: Float[Tensor, "n p"]) -> Float[Tensor, "m p"]:
"""
Matrix multiplication of two 2D arrays.
"""
raise NotImplementedError("This function is not implemented yet.")
(venv) dspyz@dspyz-desktop:~/helloworld$ python matmul.py
/home/dspyz/helloworld/venv/lib/python3.11/site-packages/torch/_subclasses/functional_tensor.py:295: UserWarning: Failed to initialize NumPy: No module named 'numpy' (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:84.)
cpu = _conversion_method_template(device=torch.device("cpu"))
Traceback (most recent call last):
File "/home/dspyz/helloworld/matmul.py", line 7, in
def matmul(a: Float[Tensor, "m n"], b: Float[Tensor, "n p"]) -> Float[Tensor, "m p"]:
~~~~~^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/jaxtyping/_array_types.py", line 669, in __getitem__
out = _make_array(array_type, dim_str, cls.dtypes, cls.__name__)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/jaxtyping/_array_types.py", line 599, in _make_array
out = _make_array_cached(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/jaxtyping/_array_types.py", line 552, in _make_array_cached
elif array_type is np.bool_:
^^
NameError: name 'np' is not defined
(venv) dspyz@dspyz-desktop:~/helloworld$ pip install numpy
Collecting numpy
Using cached numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB)
Installing collected packages: numpy
Successfully installed numpy-2.1.3
(venv) dspyz@dspyz-desktop:~/helloworld$ python matmul.py
Traceback (most recent call last):
File "/home/dspyz/helloworld/matmul.py", line 6, in
@typechecked
^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_decorators.py", line 221, in typechecked
retval = instrument(target)
^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_decorators.py", line 72, in instrument
instrumentor.visit(module_ast)
File "/usr/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 598, in visit_Module
self.generic_visit(node)
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 498, in generic_visit
node = super().generic_visit(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 494, in generic_visit
value = self.visit(value)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 672, in visit_FunctionDef
with self._use_memo(node):
File "/usr/lib/python3.11/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 556, in _use_memo
new_memo.return_annotation = self._convert_annotation(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 582, in _convert_annotation
new_annotation = cast(expr, AnnotationTransformer(self).visit(annotation))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 355, in visit
new_node = super().visit(node)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 421, in visit_Subscript
[self.visit(item) for item in node.slice.elts],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 421, in
[self.visit(item) for item in node.slice.elts],
^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 355, in visit
new_node = super().visit(node)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 474, in visit_Constant
expression = ast.parse(node.value, mode="eval")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 50, in parse
return compile(source, filename, mode, flags,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1
m p
^
SyntaxError: invalid syntax
Подробнее здесь: https://stackoverflow.com/questions/792 ... -jaxtyping
Привет, мир, за jaxtyping? ⇐ Python
Программы на Python
1731978875
Anonymous
Я не могу найти никаких инструкций или учебных пособий по началу работы с jaxtyping. Я попробовал самую простую программу, но она не смогла проанализировать. Я использую Python 3.11. В проекте jaxtyping на GitHub я не вижу ничего о верхней границе (нижняя граница — Python 3.9), и похоже, что она активно поддерживается (последний коммит был 8 часов назад).
Какой шаг я пропустил?
jaxtyping==0.2.36
torch==2.5.1
typeguard==4.4.1
from typeguard import typechecked
from jaxtyping import Float
from torch import Tensor
@typechecked
def matmul(a: Float[Tensor, "m n"], b: Float[Tensor, "n p"]) -> Float[Tensor, "m p"]:
"""
Matrix multiplication of two 2D arrays.
"""
raise NotImplementedError("This function is not implemented yet.")
(venv) dspyz@dspyz-desktop:~/helloworld$ python matmul.py
/home/dspyz/helloworld/venv/lib/python3.11/site-packages/torch/_subclasses/functional_tensor.py:295: UserWarning: Failed to initialize NumPy: No module named 'numpy' (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:84.)
cpu = _conversion_method_template(device=torch.device("cpu"))
Traceback (most recent call last):
File "/home/dspyz/helloworld/matmul.py", line 7, in
def matmul(a: Float[Tensor, "m n"], b: Float[Tensor, "n p"]) -> Float[Tensor, "m p"]:
~~~~~^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/jaxtyping/_array_types.py", line 669, in __getitem__
out = _make_array(array_type, dim_str, cls.dtypes, cls.__name__)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/jaxtyping/_array_types.py", line 599, in _make_array
out = _make_array_cached(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/jaxtyping/_array_types.py", line 552, in _make_array_cached
elif array_type is np.bool_:
^^
NameError: name 'np' is not defined
(venv) dspyz@dspyz-desktop:~/helloworld$ pip install numpy
Collecting numpy
Using cached numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB)
Installing collected packages: numpy
Successfully installed numpy-2.1.3
(venv) dspyz@dspyz-desktop:~/helloworld$ python matmul.py
Traceback (most recent call last):
File "/home/dspyz/helloworld/matmul.py", line 6, in
@typechecked
^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_decorators.py", line 221, in typechecked
retval = instrument(target)
^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_decorators.py", line 72, in instrument
instrumentor.visit(module_ast)
File "/usr/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 598, in visit_Module
self.generic_visit(node)
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 498, in generic_visit
node = super().generic_visit(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 494, in generic_visit
value = self.visit(value)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 672, in visit_FunctionDef
with self._use_memo(node):
File "/usr/lib/python3.11/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 556, in _use_memo
new_memo.return_annotation = self._convert_annotation(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 582, in _convert_annotation
new_annotation = cast(expr, AnnotationTransformer(self).visit(annotation))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 355, in visit
new_node = super().visit(node)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 421, in visit_Subscript
[self.visit(item) for item in node.slice.elts],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 421, in
[self.visit(item) for item in node.slice.elts],
^^^^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 355, in visit
new_node = super().visit(node)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/home/dspyz/helloworld/venv/lib/python3.11/site-packages/typeguard/_transformer.py", line 474, in visit_Constant
expression = ast.parse(node.value, mode="eval")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ast.py", line 50, in parse
return compile(source, filename, mode, flags,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1
m p
^
SyntaxError: invalid syntax
Подробнее здесь: [url]https://stackoverflow.com/questions/79201839/hello-world-for-jaxtyping[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия