Skip to content

Conversation

@supersergiy
Copy link
Member

Summary

  • Add support for PointNet, PointNet++, and DGCNN architectures
  • Wrap existing pointnet package for PointNet/PointNet++ models
  • Implement DGCNN using torch_geometric's DynamicEdgeConv

Changes

  • New zetta_utils/convnet/architecture/pointcloud.py module
  • Add pointcloud optional dependency in pyproject.toml

@supersergiy supersergiy force-pushed the sergiy/pointcloud-networks branch from 0d968bd to 503fbe6 Compare January 1, 2026 14:52
@supersergiy supersergiy requested a review from nkemnitz January 1, 2026 14:52
@nkemnitz
Copy link
Collaborator

nkemnitz commented Jan 2, 2026

You'll have to include the pointcloud package to at least all for CI to pick it up (and update the requirements files).
... probably should even go into modules

@supersergiy supersergiy force-pushed the sergiy/pointcloud-networks branch from 503fbe6 to 7dede48 Compare January 5, 2026 20:42
@supersergiy supersergiy force-pushed the sergiy/pointcloud-networks branch from 7dede48 to 01f0d27 Compare January 7, 2026 09:51
@supersergiy
Copy link
Member Author

@nkemnitz done

@codecov
Copy link

codecov bot commented Jan 7, 2026

Codecov Report

❌ Patch coverage is 92.30769% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 99.96%. Comparing base (dac0b94) to head (2151ca2).

Files with missing lines Patch % Lines
zetta_utils/convnet/architecture/__init__.py 66.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1119      +/-   ##
==========================================
- Coverage   99.97%   99.96%   -0.02%     
==========================================
  Files         181      182       +1     
  Lines        8942     8955      +13     
==========================================
+ Hits         8940     8952      +12     
- Misses          2        3       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Collaborator

@nkemnitz nkemnitz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage is failing... that means pointcloud.py is not collected during the load_all_modules() test. If that's on purpose, you need to add that file to the omit list in .coveragerc.

Add try/except import in architecture/__init__.py so pointcloud
network registrations are loaded when zetta_utils modules are loaded.
The import is wrapped in try/except to handle environments without
the pointnet package installed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@nkemnitz
Copy link
Collaborator

nkemnitz commented Jan 7, 2026

For reference, with PCG we print a warning: https://github.com/ZettaAI/internal/blob/07677dc1c40fb3aa882406a717417927cc248912/__init__.py#L11C1-L17C67

ModuleNotFoundError is also more precise than ImportError

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.

3 participants