Skip to content
Snippets Groups Projects
Commit a9a691d4 authored by Brad Nelson's avatar Brad Nelson
Browse files

python 3 compatibility

parent 28e3769b
Branches py3
Tags
No related merge requests found
......@@ -72,9 +72,9 @@ for i in range(500):
# Get Started
Dependencies:
* Python 2.7
* numpy
* scipy
* Python (2 or 3)
* NumPy
* SciPy
* PyTorch 1.0
## Installation using pip
......@@ -89,7 +89,7 @@ pip install git+https://github.com/bruel-gabrielsson/TopologyLayer.git
First, create a conda environment
```bash
conda create -n toplayer python=2.7
conda create -n toplayer # python=2 or python=3
source activate toplayer
```
......
from __future__ import print_function
from topologylayer.functional.cohom_cpp import SimplicialComplex, persistenceForward
from topologylayer.util.process import remove_zero_bars
import torch
......@@ -45,5 +46,5 @@ s.extendFloat(f)
ret = persistenceForward(s, 1)
for k in range(2):
print "dimension %d bars" % k
print remove_zero_bars(ret[k])
print("dimension %d bars" % k)
print(remove_zero_bars(ret[k]))
examples/levelset/noisy_circle.png

43 KiB | W: | H:

examples/levelset/noisy_circle.png

42.4 KiB | W: | H:

examples/levelset/noisy_circle.png
examples/levelset/noisy_circle.png
examples/levelset/noisy_circle.png
examples/levelset/noisy_circle.png
  • 2-up
  • Swipe
  • Onion skin
from __future__ import print_function
import torch, torch.nn as nn, numpy as np, matplotlib.pyplot as plt
from topologylayer.nn import LevelSetLayer2D, SumBarcodeLengths, PartialSumBarcodeLengths
......@@ -49,7 +50,7 @@ for i in range(500):
loss.backward()
optimizer.step()
if (i % 10 == 0):
print i, tlossi.item(), dlossi.item()
print(i, tlossi.item(), dlossi.item())
# save figure
......
from __future__ import print_function
from topologylayer.nn import AlphaLayer
from topologylayer.nn import *
......
import nn
import functional
import topologylayer.nn
import topologylayer.functional
from topologylayer.functional.cohom_cpp import SimplicialComplex
......@@ -24,7 +24,7 @@ class FlagDiagram(Function):
def backward(ctx, *grad_dgms):
# print(grad_dgms)
X = ctx.X
y, = ctx.saved_variables
y, = ctx.saved_tensors
grad_ret = list(grad_dgms)
grad_y = persistenceBackwardFlag(X, y, grad_ret)
return None, grad_y, None
......@@ -35,12 +35,12 @@ class Diagramlayer(Function):
# F.sort() # this is done in computePersistence
dgms, Tbl = computePersistence(F)
max_pts = np.max([len(dgms[i]) for i in xrange(maxdim+1)])
max_pts = np.max([len(dgms[i]) for i in range(maxdim+1)])
num_dgm_pts = max_pts
''' -1 is used later '''
dgms_inds = -1 * np.ones([maxdim+1, num_dgm_pts, 4])
dgms_values = -np.inf * np.ones([maxdim+1, num_dgm_pts, 2]) # -1.0 * np.ones([3, num_dgm_pts, 2])
for dim in xrange(maxdim+1):
for dim in range(maxdim+1):
if len(dgms[dim]) > 0:
dgm = np.array(dgms[dim])
dgm[dgm == np.inf] = SATURATION_VALUE
......
from __future__ import print_function
import torch
import numpy as np
import time
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment