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

Feature conv3d #53

Merged
merged 18 commits into from
May 5, 2024
Merged

Feature conv3d #53

merged 18 commits into from
May 5, 2024

Conversation

NewBornRustacean
Copy link
Contributor

@NewBornRustacean NewBornRustacean commented May 2, 2024

what does this PR do

test log

  • dimension mismatch is resolved(24. 05. 03)
  • test fails at this time of writing(24. 05. 02)
  • I got index out of bounds error when the graph execute() called
    • in the test case, len(inp1)==720, because example input data has 5 channels, 16x9x5=720 volume.
    • rust says, the function op.rs::get_index() fails where data[ind.exec_single_var_stack(index, stack)]
     fn get_index(
       data: &[f32],
       (ind, val): &(BigExpression, BigExpression),
       stack: &mut Vec<i64>,
       index: usize,
     ) -> f32 {
       if val.exec_single_var_stack(index, stack) != 0 {
         data[ind.exec_single_var_stack(index, stack)]
       } else {
         0.0
       }
    }
image

need help (__)

I have no idea where and how to start debug.. I'd really appreciate any ideas you could suggest. @jafioti @TheSeamau5

println!("{:?}", cx)
Graph:
  Tensors: {}
  Dynamic Map: {}
  Graph:
    Type: Directed
    Node Count: 17
    Edge Count: 14
    Edges:
      - (Node 1, Node 4)
      - (Node 4, Node 5)
      - (Node 5, Node 6)
      - (Node 6, Node 7)
      - (Node 7, Node 8)
      - (Node 8, Node 9)
      - (Node 9, Node 10)
      - (Node 10, Node 11)
      - (Node 11, Node 12)
      - (Node 12, Node 13)
      - (Node 13, Node 14)
      - (Node 3, Node 15)
      - (Node 14, Node 15)
      - (Node 15, Node 16)
    Node Weights:
      - Node 0: Tensor Load
      - Node 1: Tensor Load
      - Node 2: Tensor Load
      - Node 3: Weight Load
      - Node 4: Contiguous
      - Node 5: Contiguous
      - Node 6: Contiguous
      - Node 7: Contiguous
      - Node 8: Contiguous
      - Node 9: Contiguous
      - Node 10: Contiguous
      - Node 11: Contiguous
      - Node 12: Contiguous
      - Node 13: Contiguous
      - Node 14: Contiguous
      - Node 15: Multiplication
      - Node 16: Sum Reduction (axis: 2)
    Edge Weights:
      - Edge 0: Data (input_order: 0, output_order: 0, shape: [5, 16, 9, 5, 2])
      - Edge 1: Data (input_order: 0, output_order: 0, shape: [5, 16, 9, 10])
      - Edge 2: Data (input_order: 0, output_order: 0, shape: [5, 16, 9, 2, 7])
      - Edge 3: Data (input_order: 0, output_order: 0, shape: [5, 16, 9, 2, 2, 8])
      - Edge 4: Data (input_order: 0, output_order: 0, shape: [5, 9, 2, 2, 128])
      - Edge 5: Data (input_order: 0, output_order: 0, shape: [5, 9, 2, 2, 8, 18])
      - Edge 6: Data (input_order: 0, output_order: 0, shape: [5, 9, 2, 2, 8, 2])
      - Edge 7: Data (input_order: 0, output_order: 0, shape: [5, 2, 2, 64, 32])
      - Edge 8: Data (input_order: 0, output_order: 0, shape: [5, 2, 2, 2048])
      - Edge 9: Data (input_order: 0, output_order: 0, shape: [5, 2, 2, 32, 66])
      - Edge 10: Data (input_order: 0, output_order: 0, shape: [5, 2, 2, 32, 2])
      - Edge 11: Data (input_order: 0, output_order: 0, shape: [2, 40, 64])
      - Edge 12: Data (input_order: 1, output_order: 0, shape: [40, 64, 2])
      - Edge 13: Data (input_order: 0, output_order: 0, shape: [2, 64, 40])
  Free Node: NodeIndex(4294967295)
  Free Edge: EdgeIndex(4294967295)
  Nodes to Keep:
    - NodeIndex(16)
    - NodeIndex(2)
  Nodes to Retrieve:
    - NodeIndex(16): Shape ([2, 8, 4, 2])
    - NodeIndex(2): Shape ([2, 8, 4, 2])
  Linearized Graph: None
  Consumers Map: None

@jafioti
Copy link
Owner

jafioti commented May 2, 2024

Amazing job! This is great work for your first contribution. I'll take a look at debugging later today or tomorrow. Should have it merged by the weekend

@NewBornRustacean
Copy link
Contributor Author

thanks for your comment! I'm still debugging..
btw, "print cx" is awesome(also display() is). I'm really impressed static graph strategy could be like this.

@NewBornRustacean
Copy link
Contributor Author

Now, the dim. mismatch resolved!

@NewBornRustacean NewBornRustacean marked this pull request as ready for review May 3, 2024 12:53
@jafioti jafioti merged commit 61fc7aa into jafioti:main May 5, 2024
1 check passed
@jafioti
Copy link
Owner

jafioti commented May 5, 2024

Amazing work, merged!

@jafioti jafioti mentioned this pull request May 5, 2024
@NewBornRustacean NewBornRustacean deleted the feature-conv3d branch May 6, 2024 11:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants