Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Einsum- ValueError
#1
I don't know why I getting error:
Error:
ValueError: operand has more dimensions than subscripts given in einstein sum, but no '...' ellipsis provided to broadcast the extra dimensions.
My code:
from timeit import timeit
import numpy as np
A=np.random.rand(2,2)
B=np.random.rand(2,2)
print(np.einsum('ij,ij->ij', A, B))
print(np.inner(A, B))
print("Test c1 ",timeit('np.einsum("i,i-",np.random.rand(2,2),np.random.rand(2,2))',setup='import numpy as np',number=100))
print("Test c2 ",timeit('np.inner((np.random.rand(2,2)),np.random.rand(2,2))',setup='import numpy as np',number=100))
Reply
#2
Please post complete, verbatim error message. It contains valuable information
Reply
#3
OK.
Error:
Traceback (most recent call last): File "<ipython-input-44-981ebe7a58f3>", line 1, in <module> runfile('C:/Users/Paweł-Kusz/Desktop/zadania python-20190326T002157Z-001/zadania python/funkcja einsum-numpy.py', wdir='C:/Users/Paweł-Kusz/Desktop/zadania python-20190326T002157Z-001/zadania python') File "C:\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 704, in runfile execfile(filename, namespace) File "C:\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File "C:/Users/Paweł-Kusz/Desktop/zadania python-20190326T002157Z-001/zadania python/funkcja einsum-numpy.py", line 26, in <module> print("Test c1 ",timeit('np.einsum("i,i-",np.random.rand(2,2),np.random.rand(2,2))',setup='import numpy as np',number=100)) File "C:\Anaconda3\lib\timeit.py", line 232, in timeit return Timer(stmt, setup, timer, globals).timeit(number) File "C:\Anaconda3\lib\timeit.py", line 176, in timeit timing = self.inner(it, self.timer) File "<timeit-src>", line 6, in inner File "C:\Anaconda3\lib\site-packages\numpy\core\einsumfunc.py", line 1228, in einsum return c_einsum(*operands, **kwargs) ValueError: operand has more dimensions than subscripts given in einstein sum, but no '...' ellipsis provided to broadcast the extra dimensions.
Reply
#4
This is a guess, and may be totally off the wall:
print("Test c1 ",timeit('np.einsum("i->...i-",np.random.rand(2,2),np.random.rand(2,2))',setup='import numpy as np',number=100))
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020