Skip to content

DataFrame - add support for vbuffer #5872

Closed

Description

@LittleLittleCloud

It seems that dataframe API still doesn't support vbuffer, in which case if there's vbuffer type in IDataView, ToDataFrame() will fail.

Activity

  1. lqdev commented on Aug 11, 2021

    @lqdev

    To give an example. For the following dataset

    5.1 3.5 1.4 0.2 setosa
    4.9 3.0 1.4 0.2 setosa
    4.7 3.2 1.3 0.2 setosa

    Using the following IDataView schema

    type ModelInput = {
        [<LoadColumn(0,3)>] Features: float32 array
        [<LoadColumn(4)>] Label: string
    }

    Throws the following error when ToDataFrame is called.

    System.NotSupportedException: VBuffer`1 is not a supported column type.

  2. LittleLittleCloud commented on Feb 28, 2022

    @LittleLittleCloud
    MemberAuthor

    @ericstj @eerhardt @michaelgsharp
    What it takes to add support for VBuffer or more generically: Object in DataFrame API, any roadmap for that

  3. michaelgsharp commented on Mar 2, 2022

    @michaelgsharp
    Contributor

    This is going to need some further investigation to see what it would take. Its in our roadmap but we will be taking a look at it after we get TorchSharp resolved.

  4. added this to the ML.NET Future milestone on Mar 2, 2022
  5. ericstj commented on Mar 2, 2022

    @ericstj
    Member

    @eerhardt have you thought of this before or are you aware of any discussion with Prasanth about it? If we have an idea of how it would work we could write that up here in case someone else might be interested in helping fix this.

  6. eerhardt commented on Mar 2, 2022

    @eerhardt
    Member

    I really haven't given it deep thought. I know it is a problem, but I'm not sure how exactly to structure a DataFrameColumn that contains VBuffer instances. They are a little bit at odds, since VBuffer is supposed to be a "buffer" that changes as you "cursor" over the rows of an IDataView. Whereas DataFrame wants everything to be loaded at once in memory. But maybe we can have a column derived from DataFrameColumn that contains a distinct VBuffer for every row in the DataFrame.

    That's about as far as I've gone thinking of this.

    See also #5721

  7. jeffhandley commented on Nov 27, 2023

    @jeffhandley
    Member

    @michaelgsharp or @JakeRadMSFT -- Was this completed with #6409, or is there more to do here still?

  8. locked and limited conversation to collaborators on Oct 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions