• Matt's avatar
    TF port of the Segment Anything Model (SAM) (#22970) · 1c460a52
    Matt authored
    
    
    * First commit
    
    * Add auto-translation with GPT-4
    
    * make fixup
    
    * Add a functional layernorm for TF
    
    * Add all the auxiliary imports etc.
    
    * Add the extra processor and tests
    
    * rebase to main
    
    * Add all the needed fixes to the GPT code
    
    * make fixup
    
    * Make convolutions channels-last so they run on CPU
    
    * make fixup
    
    * Fix final issues
    
    * Fix other models affected by test change
    
    * Clarify comment on the sparse_prompt_embeddings check
    
    * Refactor functional_layernorm, use shape_list in place of .shape in some places
    
    * Remove deprecated torch-alike code
    
    * Update tests/models/sam/test_modeling_tf_sam.py
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Update tests/models/sam/test_modeling_tf_sam.py
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Refactor processor with common methods and separated private methods
    
    * make fixup
    
    * Quietly delete the file that didn't do anything (sorry Sylvain)
    
    * Refactor the processor tests into one file
    
    * make fixup
    
    * Clean up some unnecessary indirection
    
    * Fix TF mask postprocessing
    
    * Add more processor equivalence tests
    
    * Refactor generate_crop_boxes to use framework-neutral np code
    
    * Make the serving output correctly conditional
    
    * Fix error message line length
    
    * Use dict keys rather than indices internally in both TF and PT SAM call/forward
    
    * Return dicts internally in the call/forward methods
    
    * Revert changes to common tests and just override check_pt_tf_outputs
    
    * Revert changes to other model tests
    
    * Clarify comments for functional layernorm
    
    * Add missing transpose from PT code
    
    * Removed unused copied from in PT code
    
    * Remove overrides for tests that don't exist in TF
    
    * Fix transpose and update tests for PT and TF to check pred_masks
    
    * Add training flag
    
    * Update tests to use TF checkpoints
    
    * Update index.mdx
    
    * Add missing cross-test decorator
    
    * Remove optional extra asterisks
    
    * Revert return_dict changes in PT code
    
    * Update src/transformers/models/sam/modeling_tf_sam.py
    Co-authored-by: default avatarSylvain Gugger <35901082+sgugger@users.noreply.github.com>
    
    * Remove None return annotations on init methods
    
    * Update tests/models/sam/test_processor_sam.py
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Fix input_boxes shapes
    
    * make fixup
    
    ---------
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    Co-authored-by: default avatarSylvain Gugger <35901082+sgugger@users.noreply.github.com>
    1c460a52
processing_sam.py 10.6 KB