Intermittent ZeroDivisionError: division by zero
See original GitHub issueThis is a fantastic library, thanks very much for your great work. Periodically though, I’m getting a ZeroDivisionError: division by zero
while building a UMAP projection. My data doesn’t change, nor does the way I call the UMAP constructor:
model = umap.UMAP(n_neighbors=25, min_dist=0.00001, metric='correlation')
fit_model = model.fit_transform( np.array(image_vectors) )
Once in a while (maybe 5% of runs) this throws the following trace (umap version 0.1.5):
File "imageplot.py", line 278, in <module>
Imageplot(image_dir=sys.argv[1], output_dir='output')
File "imageplot.py", line 30, in __init__
self.create_2d_projection()
File "imageplot.py", line 148, in create_2d_projection
model = self.build_model(image_vectors)
File "imageplot.py", line 175, in build_model
return model.fit_transform( np.array(image_vectors) )
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 1402, in fit_transform
self.fit(X)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 1361, in fit
self.verbose
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 385, in rptree_leaf_array
angular=angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 315, in make_tree
angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 315, in make_tree
angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 315, in make_tree
angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 315, in make_tree
angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 310, in make_tree
angular)
File "/Users/yaledhlab/anaconda3/lib/python3.6/site-packages/umap/umap_.py", line 301, in make_tree
rng_state)
ZeroDivisionError: division by zero
I took a quick look at the make_tree
function but that didn’t show much–the real problem seems to be swallowed in the stacktrace by the recursion. Do you have an idea what might cause this? I’ll upgrade to the latest master and see if the problem continues.
Issue Analytics
- State:
- Created 6 years ago
- Comments:16 (6 by maintainers)
Top Results From Across the Web
ZeroDivisionError division by zero in Python error handling
If you are working in Python, and receive the following output, your code is attempting to divide a given number by zero. ZeroDivisionError....
Read more >1 Dealing with Errors and Asking for Help - Invent with Python
Error messages are notoriously short and inscrutable: the three words division by zero won't mean anything to you unless you know that dividing...
Read more >ZeroDivisionError: division by zero in Python | bobbyhadz
To solve the error, use an if statement to check if the number you are dividing by is not zero, or handle the...
Read more >Python Error : [ZeroDivisionError: division by zero]
ZeroDivisionError is not caused by e not being a number. It caused by trying to divide a number by int(d) , because int(d)...
Read more >ZeroDivisionError: division by zero - Yawin Tutor
The zero division error is due to either a number being divided by zero, or a number being modulo by zero. The denominator...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I think the problem is that that should be
sigmas[k]
instead, but I’ll have to trace through the whole thing to be sure.Any update on this? I have a dataset that seems to be throwing it when the size of the data is large.