how to improve accuracy in image classification using CNN in R
up vote
2
down vote
favorite
I am new to image classification.
I am using CNN to classify 3 images of 3 products.
Below is my code -
model <- keras_model_sequential()
model %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu',
input_shape = c(100,100,3)) %>%
layer_conv_2d(filters = 32,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_max_pooling_2d(pool_size = c(2,2)) %>%
layer_dropout(rate = 0.25) %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_max_pooling_2d(pool_size = c(2,2)) %>%
layer_dropout(rate = 0.25) %>%
layer_flatten() %>%
layer_dense(units = 256, activation = 'relu') %>%
layer_dropout(rate=0.25) %>%
layer_dense(units = 3, activation = 'softmax') %>%
compile(loss = 'categorical_crossentropy',
optimizer = optimizer_sgd(lr = 0.01,
decay = 1e-6,
momentum = 0.9,
nesterov = T),
metrics = c('accuracy'))
# Fit model
history <- model %>%
fit(train,
trainLabels,
epochs = 60,
batch_size = 32,
validation_split = 0.2,
validation_data = list(test, testLabels))
The accuracy that i am getting from this is 0.333
i would like to improve this accuracy. i am not able to find any tutorials which explains on how to decide the appropriate kernel size or the appropriate no of filters.
Can someone explain same to me?
Please let me know if you require any other details.
Thanks in advance
r tensorflow conv-neural-network
New contributor
add a comment |
up vote
2
down vote
favorite
I am new to image classification.
I am using CNN to classify 3 images of 3 products.
Below is my code -
model <- keras_model_sequential()
model %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu',
input_shape = c(100,100,3)) %>%
layer_conv_2d(filters = 32,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_max_pooling_2d(pool_size = c(2,2)) %>%
layer_dropout(rate = 0.25) %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_max_pooling_2d(pool_size = c(2,2)) %>%
layer_dropout(rate = 0.25) %>%
layer_flatten() %>%
layer_dense(units = 256, activation = 'relu') %>%
layer_dropout(rate=0.25) %>%
layer_dense(units = 3, activation = 'softmax') %>%
compile(loss = 'categorical_crossentropy',
optimizer = optimizer_sgd(lr = 0.01,
decay = 1e-6,
momentum = 0.9,
nesterov = T),
metrics = c('accuracy'))
# Fit model
history <- model %>%
fit(train,
trainLabels,
epochs = 60,
batch_size = 32,
validation_split = 0.2,
validation_data = list(test, testLabels))
The accuracy that i am getting from this is 0.333
i would like to improve this accuracy. i am not able to find any tutorials which explains on how to decide the appropriate kernel size or the appropriate no of filters.
Can someone explain same to me?
Please let me know if you require any other details.
Thanks in advance
r tensorflow conv-neural-network
New contributor
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I am new to image classification.
I am using CNN to classify 3 images of 3 products.
Below is my code -
model <- keras_model_sequential()
model %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu',
input_shape = c(100,100,3)) %>%
layer_conv_2d(filters = 32,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_max_pooling_2d(pool_size = c(2,2)) %>%
layer_dropout(rate = 0.25) %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_max_pooling_2d(pool_size = c(2,2)) %>%
layer_dropout(rate = 0.25) %>%
layer_flatten() %>%
layer_dense(units = 256, activation = 'relu') %>%
layer_dropout(rate=0.25) %>%
layer_dense(units = 3, activation = 'softmax') %>%
compile(loss = 'categorical_crossentropy',
optimizer = optimizer_sgd(lr = 0.01,
decay = 1e-6,
momentum = 0.9,
nesterov = T),
metrics = c('accuracy'))
# Fit model
history <- model %>%
fit(train,
trainLabels,
epochs = 60,
batch_size = 32,
validation_split = 0.2,
validation_data = list(test, testLabels))
The accuracy that i am getting from this is 0.333
i would like to improve this accuracy. i am not able to find any tutorials which explains on how to decide the appropriate kernel size or the appropriate no of filters.
Can someone explain same to me?
Please let me know if you require any other details.
Thanks in advance
r tensorflow conv-neural-network
New contributor
I am new to image classification.
I am using CNN to classify 3 images of 3 products.
Below is my code -
model <- keras_model_sequential()
model %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu',
input_shape = c(100,100,3)) %>%
layer_conv_2d(filters = 32,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_max_pooling_2d(pool_size = c(2,2)) %>%
layer_dropout(rate = 0.25) %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_conv_2d(filters = 64,
kernel_size = c(3,3),
activation = 'relu') %>%
layer_max_pooling_2d(pool_size = c(2,2)) %>%
layer_dropout(rate = 0.25) %>%
layer_flatten() %>%
layer_dense(units = 256, activation = 'relu') %>%
layer_dropout(rate=0.25) %>%
layer_dense(units = 3, activation = 'softmax') %>%
compile(loss = 'categorical_crossentropy',
optimizer = optimizer_sgd(lr = 0.01,
decay = 1e-6,
momentum = 0.9,
nesterov = T),
metrics = c('accuracy'))
# Fit model
history <- model %>%
fit(train,
trainLabels,
epochs = 60,
batch_size = 32,
validation_split = 0.2,
validation_data = list(test, testLabels))
The accuracy that i am getting from this is 0.333
i would like to improve this accuracy. i am not able to find any tutorials which explains on how to decide the appropriate kernel size or the appropriate no of filters.
Can someone explain same to me?
Please let me know if you require any other details.
Thanks in advance
r tensorflow conv-neural-network
r tensorflow conv-neural-network
New contributor
New contributor
New contributor
asked 2 days ago
Marcus Richard
133
133
New contributor
New contributor
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Marcus Richard is a new contributor. Be nice, and check out our Code of Conduct.
Marcus Richard is a new contributor. Be nice, and check out our Code of Conduct.
Marcus Richard is a new contributor. Be nice, and check out our Code of Conduct.
Marcus Richard is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53238597%2fhow-to-improve-accuracy-in-image-classification-using-cnn-in-r%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password