Architectures
Models are represented with the open-source neural network library TensorFlow.Keras which provides an user-friendly API for commonly used neural-network building blocks.
The already implemented architectures are configurable by custom input sizes, optional dropouts, transfer learning via pretrained weights, meta data inclusion or activation output depending on classification type.
Additionally, AUCMEDI offers architectures for 2D image and 3D volume classification.
Example: How to select an Architecture
For architecture selection, just create a key (str) by adding "2D." or "3D." to the architecture name,
and pass the key to the architecture
parameter of the NeuralNetwork class.
# 2D architecture
my_model_a = NeuralNetwork(n_labels=8, channels=3, architecture="2D.DenseNet121")
# 3D architecture for multi-label classification (sigmoid activation)
my_model_b = NeuralNetwork(n_labels=8, channels=3, architecture="3D.ResNet50",
activation_output="sigmoid")
# 2D architecture with custom input_shape
my_model_c = NeuralNetwork(n_labels=8, channels=3, architecture="2D.Xception",
input_shape=(512,512))
List of implemented Architectures
AUCMEDI provides a large library of state-of-the-art and ready-to-use architectures.
- 2D Architectures: aucmedi.neural_network.architectures.image
- 3D Architectures: aucmedi.neural_network.architectures.volume
Besides the flexibility in switching between already implemented architecture, the abstract base class interface for architectures offers the possibility for custom architecture integration into the AUCMEDI pipeline.
Furthermore, AUCMEDI offers the powerful classification head interface Classifier, which can be used for all types of image classifications and will be automatically created in the NeuralNetwork class.