make DepthAnythingV2 more reusable #2675
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request includes changes to the
candle-examples
andcandle-transformers
projects to improve memory management and simplify the codebase. The most important changes involve the use ofArc
for shared ownership and the removal of lifetime parameters in theDepthAnythingV2
andDPTHead
structures.Improvements to memory management:
candle-examples/examples/depth_anything_v2/main.rs
: Updated theDepthAnythingV2::new
function call to useArc
for shared ownership ofdinov2
.candle-transformers/src/models/depth_anything_v2.rs
: AddedArc
to theDepthAnythingV2
struct to manage shared ownership ofDinoVisionTransformer
.Codebase simplification:
candle-transformers/src/models/depth_anything_v2.rs
: Removed lifetime parameters fromDPTHead
andDepthAnythingV2
structs, and updated their implementations accordingly. [1] [2] [3]candle-transformers/src/models/depth_anything_v2.rs
: Replaced references to configuration fields with direct field accesses inDPTHead
. [1] [2]These changes enhance the code's readability and maintainability while improving memory management through shared ownership.