nasnet | R Documentation |
NASNet-A model
nasnet(
include_top = TRUE,
weights = "imagenet",
input_tensor = NULL,
input_shape = NULL,
classes = 1000,
classifier_activation = "softmax",
default_size = NULL,
penultimate_filters = 4032,
num_blocks = 6,
stem_block_filters = 96,
skip_reduction = TRUE,
filter_multiplier = 2
)
include_top |
Whether to include the fully-connected layer at the top of the network. A model without a top will output activations from the last convolutional or pooling layer directly. |
weights |
One of |
input_tensor |
Optional tensor to use as image input for the model. |
input_shape |
Dimensionality of the input not including the samples axis. |
classes |
Optional number of classes or labels to classify images into, only to be specified if |
classifier_activation |
A string or callable for the activation function to use on top layer, only if |
default_size |
Specifies the default image size of the model. If no value is specified (default) the size is set equal to 331 for NASNetLarge. For NASNetMobile the default size is 224. |
penultimate_filters |
Number of filters in the penultimate layer. |
num_blocks |
Number of repeated blocks of the NASNet model. |
stem_block_filters |
Number of filters in the initial stem block. |
skip_reduction |
Whether to skip the reduction step at the tail end of the network. |
filter_multiplier |
Controls the width of the network.
|
The input shape
is usually c(height, width, channels)
for a 2D image. If no input shape is specified the default_size
is used.
The number of classes
can be computed in three steps. First, build a factor of the labels (classes). Second, use as_CNN_image_Y
to
one-hot encode the outcome created in the first step. Third, use nunits
to get the number of classes. The result is equal to nlevels
used on the result of the first step.
For a n-ary classification problem with single-label associations, the output is either one-hot encoded with categorical_crossentropy loss function or binary encoded (0,1) with sparse_categorical_crossentropy loss function. In both cases, the output activation function is softmax.
For a n-ary classification problem with multi-label associations, the output is one-hot encoded with sigmoid activation function and binary_crossentropy loss function.
NASNet models use the notation NASNet (N @ P)
where N
is the number of blocks and P
is the number of penultimate filters.
The current parameter defaults are the values for the large NASNet model type. The parameter values for the the mobile NASNet model type are:
penultimate_filters = 1056
num_blocks = 4
stem_block_filters = 32
skip_reduction = FALSE
For a task with another top layer block, e.g. a regression problem, use the following code template:
base_model <- nasnet(include_top = FALSE)
base_model$trainable <- FALSE
outputs <- base_model$output %>%
layer_flatten()
layer_dense(units = 1, activation = "linear")
model <- keras_model(inputs = base_model$input, outputs = outputs)
inputs <- layer_input(shape = c(256, 256, 3))
blocks <- inputs %>%
layer_conv_2d_transpose(filters = 3, kernel_size = c(1, 1)) %>%
layer_max_pooling_2d()
model <- nasnet(input_tensor = blocks)
A CNN model object from type NASNet-A.
Zoph, B., Vasudevan, V., Shlens, J., Le, Q. V. (2017). Learning Transferable Architectures for Scalable Image Recognition. arXiv:1707.07012 cs. https://arxiv.org/abs/1707.07012.
https://arxiv.org/pdf/1707.07012.pdf
see also https://github.com/keras-team/keras-applications/blob/master/keras_applications/nasnet.py
Other Convolutional Neural Network (CNN):
alexnet()
,
as_CNN_image_X()
,
as_CNN_image_Y()
,
as_CNN_temp_X()
,
as_CNN_temp_Y()
,
as_images_array()
,
as_images_tensor()
,
images_load()
,
images_resize()
,
inception_resnet_v2()
,
inception_v3()
,
lenet5()
,
mobilenet()
,
mobilenet_v2()
,
mobilenet_v3()
,
resnet
,
unet()
,
vgg
,
xception()
,
zfnet()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.