Skip to content

Releases: pycroscopy/atomai

v0.6.2

29 Dec 23:18
8e9c10c
Compare
Choose a tag to compare

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:

  • New notebook on constructing and using (training+predicting) a custom image denoiser with AtomAI
  • New notebook on applications of rotationally invariant VAE (rVAE) and class-conditioned rVAE to arbitrary rotated handwritten digits

v0.6.0

07 Dec 07:22
336b90f
Compare
Choose a tag to compare
v0.6.0 Pre-release
Pre-release

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

21 Sep 13:30
040cdb7
Compare
Choose a tag to compare
v0.5.2 Pre-release
Pre-release

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