0 purchases
spotipydetector 0.1.0
Spotipy - Accurate and efficient spot detection with CNNs
Installation
Install the correct tensorflow for your CUDA version.
Clone the repo and install it
git clone [email protected]:maweigert/spotipy.git
pip install spotipy
Usage
A SpotNet spot detection model can be instantiated from a custom Config class:
from spotipy.model import Config, SpotNet
config = Config(
n_channel_in=1,
unet_n_depth=2,
train_learning_rate=3e-4,
train_patch_size=(128,128),
train_batch_size=4
)
model = SpotNet(config,name="mymodel", basedir="models")
Training
The training data for a SpotNet model consists of input image X and spot coordinates P (in y,x order):
import numpy as np
from spotipy.utils import points_to_prob
# generate some dummy data
def dummy_data(n_samples=16):
X = np.random.uniform(0,1,(n_samples, 128, 128))
P = np.random.randint(0,128,(n_samples, 21, 2))
for x, p in zip(X, P):
x[tuple(p.T.tolist())] = np.random.uniform(2,5,len(p))
Y = np.stack(tuple(points_to_prob(p[:,::-1], (128,128)) for p in P))
return X, Y
X,Y = dummy_data(128)
Xv,Yv = dummy_data(16)
model.train(X,Y, validation_data=[X, Y], epochs=10, steps_per_epoch=128)
model.optimize_thresholds(Xv,Yv)
Inference
Applying a trained SpotNet:
img = dummy_data(1)[0][0]
prob, points = model.predict(img)
Contributors
Albert Dominguez Mantes, Antonio Herrera, Irina Khven, Anjali Schläppi, Gioele La Manno, Martin Weigert
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.