april-tools / cirkit

a python framework to build, learn and reason about probabilistic circuits and tensor networks
https://cirkit-docs.readthedocs.io/en/latest/
GNU General Public License v3.0
80 stars 4 forks source link

Notebook for adding input layers and operators #275

Open lkct opened 1 month ago

lkct commented 1 month ago

As per title.

Also some minor changes:

codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 82.35294% with 3 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@1d4f8f3). Learn more about missing BASE report.

Files with missing lines Patch % Lines
cirkit/symbolic/layers.py 80.00% 1 Missing and 1 partial :warning:
cirkit/symbolic/parameters.py 66.66% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #275 +/- ## ======================================= Coverage ? 71.24% ======================================= Files ? 45 Lines ? 4782 Branches ? 708 ======================================= Hits ? 3407 Misses ? 1176 Partials ? 199 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

loreloc commented 1 month ago

Thanks a lot!

I think the how-to-add-an-operator notebook has lower priority and does not need to be merged soon, so I just have some suggestions for the how-add-a-layer notebook:

lkct commented 1 month ago

Do we need to write how to add an operator over layers too?

I would say yes, because it's also important to make full use of cirkit. But they indeed face different levels of users.

I think this deserves a separate notebook.

I agree. There're some duplicates in the two notebooks, and we may do it in three: add-layer, layer-op, and circuit-op.

See add_layer_compilation_rule method

Thanks for pointing out. This will be better for end-users.

arranger1044 commented 4 days ago

@lkct what's the status on this?

lkct commented 2 days ago

@lkct what's the status on this?

I will finalize it. I have to rearrange the sections and catch up with the API changes.