3LC Python Package Version 2.13

2.13.2

Enhancements and Fixes

  • [14595] Avoid unnecessary HEAD calls to S3 buckets when reading 3LC files

  • [14853] Made a fix so InstanceSegmentationMasks are laid out in memory in fortran order to be compatible with Pycocotools

  • [14874] Fixed handling of trailing slashes on aliases

  • [14835] Catch the case of a non-list being passed as a part of a sample described using the List sample type at an earlier stage and give a more informative error message

  • [14880] Write 3LC object text files with utf-8 encoding since we assume that encoding when reading them back in

  • [14787] Enhanced error handling in Table.create_sampler for zero weights by adding a check to raise a ValueError if there are no rows with non-zero weights when exclude_zero_weights or weighted is set to True. This prevents the creation of a sampler under invalid conditions.

  • [14846] Added a progress bar shown when reading labels with table_from_yolo

  • [14914] Allow Table.get_value_map to find value maps in segmentation columns

  • [14920] Added argument validation for reduction methods instead of silently ignoring invalid or misspelled arguments

  • [14923] Made a fix to InstanceSegmentationMasks.create_rles_from_sample to check the correct dimension of the numpy array to determine if image has no instances

  • [10886] Immediately update indexing when a file is deleted or renamed, which fixes a bug seen in the Dashboard where a Run was renamed but showed up under both names until the index had completely refreshed


2.13.1

Enhancements and Fixes

  • Fixed an issue that could cause an assert during shutdown of 3lc service


2.13.0

Features

  • [14495] Added support for instance segmentation

  • [13949] As part of ending the 3LC Beta, removed support for doing import tlc and running the 3lc service without a key. From now on, it will be necessary to provide an API key (or a license key for the 3LC Enterprise Customer Managed deployment).

  • [14612] Made torch and torchvision required dependencies for 3lc

    • 3lc has always relied in practice on having torch and torchvision installed in the environment, raising an exception at runtime if they are not both present. This change updates the 3lc to explicitly specify them as required dependencies.

    • If a user already has a version of torch and/or torchvision that targets specific hardware in their environment, doing pip install 3lc will not interfere with them as long as the versions are within the generally loose constraints defined by 3lc

    • If torch and/or torchvision are not installed, the versions on PyPI are installed

    • See this FAQ for more details and recommendations

    • Also added an optional extra dependency group called lightning for the Pytorch Lightning integration that mirrors the other integrations and corresponding extras

Enhancements and Fixes

  • [14587] Added root_url param to tlc.init to make it possible to locally override the default

  • [14498] Made TableFromPandas a subclass of _InMemoryColumnsTable, which makes its representation more efficient and also fixed a number of bugs, such as schema overrides being ignored

  • [14624] Loosened the number dependency version constraint

  • [14667] Limited repeated warnings about alias expansion

  • [14594] Reduced the number of updates to indexing timestamp files by coalescing writes within an interval, which reduces bandwidth uses and prevents unnecessary updates in indexing

  • [14656] Added incompatibility check for COCO exporter so a better error message is provided before export starts

  • [14655] Updated TableWriter.add_batch to provide a clearer error message when a non-dict batch is provided

  • [14697] Fixed an issue with logging from tlcsaas package

  • [14708] Added logging on successful object creation

  • [14712] Made it so we do not delete model files for reduced tables when the delete_source_tables argument is passed, which is not the desired behavior and could be harmful

  • [14760] Fixed an issue where an EditedTable for Dashboard edits with empty bounding boxes would fail to be saved

  • [14718] Made it so TableFromHuggingFace is automatically imported during Object Service startup to avoid issues with loading such tables at runtime

  • [14716] Fixed bugs where deriving from an input Table could inadvertently modify schema row values

Known Issues

  • The tlc Python package does not detect, handle, or support NaN (Not-a-Number) values in tlc.Table, and their presence may lead to unpredictable behavior or inconsistencies within the system.