Releases: pycroscopy/atomai
Releases · pycroscopy/atomai
v0.6.2
New functionalities:
- ResHedNet model for advanced edge detection. This model is based on the holistically-nested edge detection paper. We improved the original model by replacing vanilla convolutional layers with ResNet-like blocks in each segment and by reducing the number of max-pooling operations to 2 (we found that 3 different scales are enough for learning the relevant features in typical microscopy images)
- SegResNet model for general semantic segmentation as an alternative to default UNet model. It has ResNet-like connections in each segment in addition to UNet-like skip connections between encoding and decoding paths.
Bug fixes:
- Fix bug that was preventing from saving/loading custom models
- Fix bug that was performing a zoom-in operation even when set to False during data augmentation
- Fix bug in the output_shape in BasePredictor, which required the output shape to be identical to the input shape
Improvements:
- Add option to pass a custom loss function to trainers for semantic segmentation and im2spec/spec2im
- Add option to store all training data on CPU when the size of the training data exceeds a certain limit (default limit is 4GB). In this case, only the individual batches are moved to a GPU device at training/test steps.
- Make computation of coordinates optional for SegPredictor
- Automatically save VAE models after each training cycle ("epoch") and not just at the end of training
New examples:
v0.6.0
Breaking changes
- out: atomnet, atomstat
- in: models, trainers, predictors
To install and use the old code run pip install git+https://github.com/ziatdinovmax/atomai@legacy --upgrade
The new version provides an easy, Keras-like interface for training and applying models for semantic segmentation, image-to-spectrum conversion, as well as different forms of variational autoencoders. For example, to train a model for semantic segmentation of data, (for atom/defect finding) simply run:
model = Segmentor()
model.fit(X, y, X_test, y_test, training_cycles=300)
To make a prediction with a trained model, run:
output, coords = model.predict(expdata)
See the updated documentation for more details.
New functionalities:
- ImSpec models for converting 2D images to 1D spectra and vice versa
- Graph analysis for identifying topologcial defects in the lattices
- Class-conditioned VAE and rVAE
Imrovements:
- AtomAI's trainers and predictors can now work with custom Pytorch models
v0.5.2
New functionalities:
- Optional time-dependent weight perturbation w <- w + N(0, scale(t)) during NN model/ensemble training
- Vanilla Pytorch NN training loop (the customized on-the-fly data augmentation is not available in this mode)
- Basic utilities for working with graphs including:
- Construction of graph from NN output
- First-depth search for analyzing lattice topology
- Using connected/disconnected subgraphs to clean the NN predictions
- Plotting graphs
Bug fixes/improvements:
- fix bug that prevented NN training in a 'full_epoch' mode for multiclass case
- automatically load VAE's weights on cpu when cuda is not found
- return subimages together with VAE-encoded trajectories
- option to pass a custom latent variable range when plotting the VAE's manifold2d