How do I need to configure Keras model to predict an image?
The main task is to predict a mask for the input image. So I have the following data for training:
- lot's of 768x768 original pics like this:
- and output mask pics(also 768x768) like this:
Also I have validation original pics.
I prepare some kind of neural model that should predict the output mask. I prepared keras model configuaration that should have a topology which looks like below:
The code I prepared for training is there.
import keras
epochs=100
image_datagen = keras.preprocessing.image.ImageDataGenerator()
mask_datagen = keras.preprocessing.image.ImageDataGenerator()
seed = 1
image_generator = image_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_train/',
color_mode='rgb',batch_size=32,target_size=(768,768),
seed=seed)
mask_generator = mask_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_mask/',
class_mode="categorical",batch_size=32,target_size=(768,768),
seed=seed)
train_generator = zip(image_generator, mask_generator)
model.fit_generator(generator=train_generator,
epochs=epochs,
callbacks=callbacks,steps_per_epoch=1)
But when I try to fit generator for prediction I have an issue:
c:usersharwisterappdatalocalprogramspythonpython36libsite-packageskerasenginetraining_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
208 batch_size = list(x.values())[0].shape[0]
209 else:
--> 210 batch_size = x.shape[0]
211 batch_logs['batch'] = batch_index
212 batch_logs['size'] = batch_size
AttributeError: 'tuple' object has no attribute 'shape'
I do something wrong for sure, but I can't understand anything from these kind of errors. The simple question I can't find a response in Google is: How can I push into Keras two images (input and output images) for training and after training get an output image providing an input image?
python machine-learning keras deep-learning image-segmentation
add a comment |
The main task is to predict a mask for the input image. So I have the following data for training:
- lot's of 768x768 original pics like this:
- and output mask pics(also 768x768) like this:
Also I have validation original pics.
I prepare some kind of neural model that should predict the output mask. I prepared keras model configuaration that should have a topology which looks like below:
The code I prepared for training is there.
import keras
epochs=100
image_datagen = keras.preprocessing.image.ImageDataGenerator()
mask_datagen = keras.preprocessing.image.ImageDataGenerator()
seed = 1
image_generator = image_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_train/',
color_mode='rgb',batch_size=32,target_size=(768,768),
seed=seed)
mask_generator = mask_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_mask/',
class_mode="categorical",batch_size=32,target_size=(768,768),
seed=seed)
train_generator = zip(image_generator, mask_generator)
model.fit_generator(generator=train_generator,
epochs=epochs,
callbacks=callbacks,steps_per_epoch=1)
But when I try to fit generator for prediction I have an issue:
c:usersharwisterappdatalocalprogramspythonpython36libsite-packageskerasenginetraining_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
208 batch_size = list(x.values())[0].shape[0]
209 else:
--> 210 batch_size = x.shape[0]
211 batch_logs['batch'] = batch_index
212 batch_logs['size'] = batch_size
AttributeError: 'tuple' object has no attribute 'shape'
I do something wrong for sure, but I can't understand anything from these kind of errors. The simple question I can't find a response in Google is: How can I push into Keras two images (input and output images) for training and after training get an output image providing an input image?
python machine-learning keras deep-learning image-segmentation
If the answer resolved your issue, kindly accept it by clicking on the checkmark next to the answer to mark it as "answered" - see What should I do when someone answers my question?
– today
Nov 26 '18 at 15:56
@today I saw your responce. Currently a have personal issue so, I can't spend some time to check your solution. I'll let you know about results later. Don't worry
– keipa
Nov 27 '18 at 9:34
add a comment |
The main task is to predict a mask for the input image. So I have the following data for training:
- lot's of 768x768 original pics like this:
- and output mask pics(also 768x768) like this:
Also I have validation original pics.
I prepare some kind of neural model that should predict the output mask. I prepared keras model configuaration that should have a topology which looks like below:
The code I prepared for training is there.
import keras
epochs=100
image_datagen = keras.preprocessing.image.ImageDataGenerator()
mask_datagen = keras.preprocessing.image.ImageDataGenerator()
seed = 1
image_generator = image_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_train/',
color_mode='rgb',batch_size=32,target_size=(768,768),
seed=seed)
mask_generator = mask_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_mask/',
class_mode="categorical",batch_size=32,target_size=(768,768),
seed=seed)
train_generator = zip(image_generator, mask_generator)
model.fit_generator(generator=train_generator,
epochs=epochs,
callbacks=callbacks,steps_per_epoch=1)
But when I try to fit generator for prediction I have an issue:
c:usersharwisterappdatalocalprogramspythonpython36libsite-packageskerasenginetraining_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
208 batch_size = list(x.values())[0].shape[0]
209 else:
--> 210 batch_size = x.shape[0]
211 batch_logs['batch'] = batch_index
212 batch_logs['size'] = batch_size
AttributeError: 'tuple' object has no attribute 'shape'
I do something wrong for sure, but I can't understand anything from these kind of errors. The simple question I can't find a response in Google is: How can I push into Keras two images (input and output images) for training and after training get an output image providing an input image?
python machine-learning keras deep-learning image-segmentation
The main task is to predict a mask for the input image. So I have the following data for training:
- lot's of 768x768 original pics like this:
- and output mask pics(also 768x768) like this:
Also I have validation original pics.
I prepare some kind of neural model that should predict the output mask. I prepared keras model configuaration that should have a topology which looks like below:
The code I prepared for training is there.
import keras
epochs=100
image_datagen = keras.preprocessing.image.ImageDataGenerator()
mask_datagen = keras.preprocessing.image.ImageDataGenerator()
seed = 1
image_generator = image_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_train/',
color_mode='rgb',batch_size=32,target_size=(768,768),
seed=seed)
mask_generator = mask_datagen.flow_from_directory(
'H:/LABS/ship_detection/test_mask/',
class_mode="categorical",batch_size=32,target_size=(768,768),
seed=seed)
train_generator = zip(image_generator, mask_generator)
model.fit_generator(generator=train_generator,
epochs=epochs,
callbacks=callbacks,steps_per_epoch=1)
But when I try to fit generator for prediction I have an issue:
c:usersharwisterappdatalocalprogramspythonpython36libsite-packageskerasenginetraining_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
208 batch_size = list(x.values())[0].shape[0]
209 else:
--> 210 batch_size = x.shape[0]
211 batch_logs['batch'] = batch_index
212 batch_logs['size'] = batch_size
AttributeError: 'tuple' object has no attribute 'shape'
I do something wrong for sure, but I can't understand anything from these kind of errors. The simple question I can't find a response in Google is: How can I push into Keras two images (input and output images) for training and after training get an output image providing an input image?
python machine-learning keras deep-learning image-segmentation
python machine-learning keras deep-learning image-segmentation
edited Nov 21 '18 at 7:20
today
11k22037
11k22037
asked Nov 20 '18 at 22:06
keipakeipa
349510
349510
If the answer resolved your issue, kindly accept it by clicking on the checkmark next to the answer to mark it as "answered" - see What should I do when someone answers my question?
– today
Nov 26 '18 at 15:56
@today I saw your responce. Currently a have personal issue so, I can't spend some time to check your solution. I'll let you know about results later. Don't worry
– keipa
Nov 27 '18 at 9:34
add a comment |
If the answer resolved your issue, kindly accept it by clicking on the checkmark next to the answer to mark it as "answered" - see What should I do when someone answers my question?
– today
Nov 26 '18 at 15:56
@today I saw your responce. Currently a have personal issue so, I can't spend some time to check your solution. I'll let you know about results later. Don't worry
– keipa
Nov 27 '18 at 9:34
If the answer resolved your issue, kindly accept it by clicking on the checkmark next to the answer to mark it as "answered" - see What should I do when someone answers my question?
– today
Nov 26 '18 at 15:56
If the answer resolved your issue, kindly accept it by clicking on the checkmark next to the answer to mark it as "answered" - see What should I do when someone answers my question?
– today
Nov 26 '18 at 15:56
@today I saw your responce. Currently a have personal issue so, I can't spend some time to check your solution. I'll let you know about results later. Don't worry
– keipa
Nov 27 '18 at 9:34
@today I saw your responce. Currently a have personal issue so, I can't spend some time to check your solution. I'll let you know about results later. Don't worry
– keipa
Nov 27 '18 at 9:34
add a comment |
1 Answer
1
active
oldest
votes
Since you have separate generators for the images and the labels (i.e. masks), you need to set the class_mode
argument to None
to prevent the generators from producing any labels arrays:
image_generator = image_datagen.flow_from_directory(class_mode=None, ...)
mask_generator = mask_datagen.flow_from_directory(class_mode=None, ...)
This way, image_generator
would only generate the input images and the mask_generator
would only generate the mask (i.e. true label) images.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402303%2fhow-do-i-need-to-configure-keras-model-to-predict-an-image%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Since you have separate generators for the images and the labels (i.e. masks), you need to set the class_mode
argument to None
to prevent the generators from producing any labels arrays:
image_generator = image_datagen.flow_from_directory(class_mode=None, ...)
mask_generator = mask_datagen.flow_from_directory(class_mode=None, ...)
This way, image_generator
would only generate the input images and the mask_generator
would only generate the mask (i.e. true label) images.
add a comment |
Since you have separate generators for the images and the labels (i.e. masks), you need to set the class_mode
argument to None
to prevent the generators from producing any labels arrays:
image_generator = image_datagen.flow_from_directory(class_mode=None, ...)
mask_generator = mask_datagen.flow_from_directory(class_mode=None, ...)
This way, image_generator
would only generate the input images and the mask_generator
would only generate the mask (i.e. true label) images.
add a comment |
Since you have separate generators for the images and the labels (i.e. masks), you need to set the class_mode
argument to None
to prevent the generators from producing any labels arrays:
image_generator = image_datagen.flow_from_directory(class_mode=None, ...)
mask_generator = mask_datagen.flow_from_directory(class_mode=None, ...)
This way, image_generator
would only generate the input images and the mask_generator
would only generate the mask (i.e. true label) images.
Since you have separate generators for the images and the labels (i.e. masks), you need to set the class_mode
argument to None
to prevent the generators from producing any labels arrays:
image_generator = image_datagen.flow_from_directory(class_mode=None, ...)
mask_generator = mask_datagen.flow_from_directory(class_mode=None, ...)
This way, image_generator
would only generate the input images and the mask_generator
would only generate the mask (i.e. true label) images.
answered Nov 21 '18 at 7:15
todaytoday
11k22037
11k22037
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402303%2fhow-do-i-need-to-configure-keras-model-to-predict-an-image%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
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
Required, but never shown
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
Required, but never shown
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
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
If the answer resolved your issue, kindly accept it by clicking on the checkmark next to the answer to mark it as "answered" - see What should I do when someone answers my question?
– today
Nov 26 '18 at 15:56
@today I saw your responce. Currently a have personal issue so, I can't spend some time to check your solution. I'll let you know about results later. Don't worry
– keipa
Nov 27 '18 at 9:34