Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The argument numTokens will impact inputLayer's output shape #8322

Open
linus87 opened this issue Jul 4, 2024 · 1 comment
Open

The argument numTokens will impact inputLayer's output shape #8322

linus87 opened this issue Jul 4, 2024 · 1 comment
Assignees

Comments

@linus87
Copy link

linus87 commented Jul 4, 2024

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template

System information

  • Have I written custom code (as opposed to using a stock example script provided in TensorFlow.js): Yes
  • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 14.2.1 (23C71)
  • Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
  • TensorFlow.js installed from (npm or script link): script link
  • TensorFlow.js version (use command below): 4.20.0
  • Browser version: Chrome 126.0.6478.127
  • Tensorflow.js Converter Version:

Describe the current behavior
The argument numTokens of tf.layers.categoryEncoding will impact inputLayer's output shape. The input shape is changed to [..., numTokens].

Describe the expected behavior
InputLayer's output shape should be [..., sampleLength]. Since samples are all integers, and they are between 0 and numTokens. CategoryEncoding should be able to create correct output while no other constraint on inputLayer.

Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/CodePen/any notebook.

`// Tiny TFJS train / predict example.
var numFeatures = 1;

// Define the model architecture
var model = tf.sequential();
model.add(tf.layers.inputLayer({inputShape: [numFeatures]}));
model.add(tf.layers.categoryEncoding({numTokens: 10, outputMode: "count"}));

model.summary();
tfvis.show.modelSummary({name: 'Model Summary'}, model);

// Generate some synthetic data for training
// const numbers = tf.range(0, 10, 1); // Generate numbers from 0 to 99
var numbers = tf.rand([10], () => Math.floor(Math.random() * 10), 'int32'); // Generate numbers from 0 to 99
numbers.print();

var input = tf.reshape(numbers, [numFeatures, 10]);
input.print();

model.predict(input).print();`

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

@linus87 linus87 added the type:bug Something isn't working label Jul 4, 2024
@gaikwadrahul8 gaikwadrahul8 self-assigned this Jul 4, 2024
@gaikwadrahul8
Copy link
Contributor

gaikwadrahul8 commented Jul 4, 2024

Hi, @linus87

Thank you for bringing this issue to our attention and I was trying to replicate the same issue from my end and I'm getting below output, for your reference I have added screenshot below so I'll dig into this issue and will update you soon.

image

Thank you for your cooperation and patience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants