Failed to make Dataset.filter() work in the model/official/resnet/resnet_run_loop.py file












0















In the official resnet model, I want to filters the dataset from test.bin by the value of 'label' when eval_only set to be True. I tried the tf.data.Dataset.filter() function to get only one class of test data but it didn't work.



dataset = dataset.filter(lambda inputs, label: tf.equal(label,15))


I put this code in the resnet_run_loop.process_record_dataset function, but it raised an error



 raise ValueError("`predicate` must return a scalar boolean tensor.")


I found that the shape of tensor 'label' is (?,) :'Tensor("arg1:0", shape=(?,), dtype=int32, device=/device:CPU:0)'










share|improve this question























  • the inputs is the 32*32*3 data of an image, 'label' is the No. of class. 15 stands for 'bottle'. By the way, I'm using cifar100 dataset.

    – user5801328
    Nov 22 '18 at 5:30











  • The function passed to filter should return a scalar as the error message indicates, but the shape of label is unspecified and so the shape of the output of tf.equal() is unspecified. If you batched the dataset before the call to filter then the size of label will indeed be larger than 1. Make sure you filter before batching, so you can safely specify the shape of label as (=scalar).

    – buzjwa
    Nov 27 '18 at 9:03













  • Also, what version of TF are you using? I've seen an issue with filter in 1.10.0 giving this error for legit scalars which worked fine in 1.8.0. This is probably irrelevant though.

    – buzjwa
    Nov 27 '18 at 9:08
















0















In the official resnet model, I want to filters the dataset from test.bin by the value of 'label' when eval_only set to be True. I tried the tf.data.Dataset.filter() function to get only one class of test data but it didn't work.



dataset = dataset.filter(lambda inputs, label: tf.equal(label,15))


I put this code in the resnet_run_loop.process_record_dataset function, but it raised an error



 raise ValueError("`predicate` must return a scalar boolean tensor.")


I found that the shape of tensor 'label' is (?,) :'Tensor("arg1:0", shape=(?,), dtype=int32, device=/device:CPU:0)'










share|improve this question























  • the inputs is the 32*32*3 data of an image, 'label' is the No. of class. 15 stands for 'bottle'. By the way, I'm using cifar100 dataset.

    – user5801328
    Nov 22 '18 at 5:30











  • The function passed to filter should return a scalar as the error message indicates, but the shape of label is unspecified and so the shape of the output of tf.equal() is unspecified. If you batched the dataset before the call to filter then the size of label will indeed be larger than 1. Make sure you filter before batching, so you can safely specify the shape of label as (=scalar).

    – buzjwa
    Nov 27 '18 at 9:03













  • Also, what version of TF are you using? I've seen an issue with filter in 1.10.0 giving this error for legit scalars which worked fine in 1.8.0. This is probably irrelevant though.

    – buzjwa
    Nov 27 '18 at 9:08














0












0








0








In the official resnet model, I want to filters the dataset from test.bin by the value of 'label' when eval_only set to be True. I tried the tf.data.Dataset.filter() function to get only one class of test data but it didn't work.



dataset = dataset.filter(lambda inputs, label: tf.equal(label,15))


I put this code in the resnet_run_loop.process_record_dataset function, but it raised an error



 raise ValueError("`predicate` must return a scalar boolean tensor.")


I found that the shape of tensor 'label' is (?,) :'Tensor("arg1:0", shape=(?,), dtype=int32, device=/device:CPU:0)'










share|improve this question














In the official resnet model, I want to filters the dataset from test.bin by the value of 'label' when eval_only set to be True. I tried the tf.data.Dataset.filter() function to get only one class of test data but it didn't work.



dataset = dataset.filter(lambda inputs, label: tf.equal(label,15))


I put this code in the resnet_run_loop.process_record_dataset function, but it raised an error



 raise ValueError("`predicate` must return a scalar boolean tensor.")


I found that the shape of tensor 'label' is (?,) :'Tensor("arg1:0", shape=(?,), dtype=int32, device=/device:CPU:0)'







python tensorflow resnet






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 '18 at 5:18









user5801328user5801328

1




1













  • the inputs is the 32*32*3 data of an image, 'label' is the No. of class. 15 stands for 'bottle'. By the way, I'm using cifar100 dataset.

    – user5801328
    Nov 22 '18 at 5:30











  • The function passed to filter should return a scalar as the error message indicates, but the shape of label is unspecified and so the shape of the output of tf.equal() is unspecified. If you batched the dataset before the call to filter then the size of label will indeed be larger than 1. Make sure you filter before batching, so you can safely specify the shape of label as (=scalar).

    – buzjwa
    Nov 27 '18 at 9:03













  • Also, what version of TF are you using? I've seen an issue with filter in 1.10.0 giving this error for legit scalars which worked fine in 1.8.0. This is probably irrelevant though.

    – buzjwa
    Nov 27 '18 at 9:08



















  • the inputs is the 32*32*3 data of an image, 'label' is the No. of class. 15 stands for 'bottle'. By the way, I'm using cifar100 dataset.

    – user5801328
    Nov 22 '18 at 5:30











  • The function passed to filter should return a scalar as the error message indicates, but the shape of label is unspecified and so the shape of the output of tf.equal() is unspecified. If you batched the dataset before the call to filter then the size of label will indeed be larger than 1. Make sure you filter before batching, so you can safely specify the shape of label as (=scalar).

    – buzjwa
    Nov 27 '18 at 9:03













  • Also, what version of TF are you using? I've seen an issue with filter in 1.10.0 giving this error for legit scalars which worked fine in 1.8.0. This is probably irrelevant though.

    – buzjwa
    Nov 27 '18 at 9:08

















the inputs is the 32*32*3 data of an image, 'label' is the No. of class. 15 stands for 'bottle'. By the way, I'm using cifar100 dataset.

– user5801328
Nov 22 '18 at 5:30





the inputs is the 32*32*3 data of an image, 'label' is the No. of class. 15 stands for 'bottle'. By the way, I'm using cifar100 dataset.

– user5801328
Nov 22 '18 at 5:30













The function passed to filter should return a scalar as the error message indicates, but the shape of label is unspecified and so the shape of the output of tf.equal() is unspecified. If you batched the dataset before the call to filter then the size of label will indeed be larger than 1. Make sure you filter before batching, so you can safely specify the shape of label as (=scalar).

– buzjwa
Nov 27 '18 at 9:03







The function passed to filter should return a scalar as the error message indicates, but the shape of label is unspecified and so the shape of the output of tf.equal() is unspecified. If you batched the dataset before the call to filter then the size of label will indeed be larger than 1. Make sure you filter before batching, so you can safely specify the shape of label as (=scalar).

– buzjwa
Nov 27 '18 at 9:03















Also, what version of TF are you using? I've seen an issue with filter in 1.10.0 giving this error for legit scalars which worked fine in 1.8.0. This is probably irrelevant though.

– buzjwa
Nov 27 '18 at 9:08





Also, what version of TF are you using? I've seen an issue with filter in 1.10.0 giving this error for legit scalars which worked fine in 1.8.0. This is probably irrelevant though.

– buzjwa
Nov 27 '18 at 9:08












0






active

oldest

votes











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
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53424304%2ffailed-to-make-dataset-filter-work-in-the-model-official-resnet-resnet-run-loo%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































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.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53424304%2ffailed-to-make-dataset-filter-work-in-the-model-official-resnet-resnet-run-loo%23new-answer', 'question_page');
}
);

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







Popular posts from this blog

Futebolista

Feedback on college project

Albești (Vaslui)