Update VBuffer documentation - #3136

Merged
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector
Apr 1, 2019
Merged

Update VBuffer documentation#3136
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector

Conversation

@TomFinley

Copy link
Copy Markdown
Contributor

Towards #3095, specifically about VBuffers. Changes documentation to reflect the changes made by @eerhardt in his refactoring of #1580.

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
/// <param name="defaultValue">The value to fill in for the implicit sparse entries. This is a potential exception to
/// general expectation of sparse <see cref="VBuffer{T}"/> that the implicit sparse entries have the default value
/// of <typeparamref name="T"/>.</param>
public void CopyTo(Span<T> dst, int ivDst, T defaultValue = default(T))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ivDst [](start = 44, length = 5)

Looks like we still have some acronyms and whatever this is lurking around. Not sure if care enough to change the API for v1...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that changing a parameter name after you ship an API is a breaking change. So it's now or never.

@TomFinleyTomFinleyMar 31, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... I was hoping to not make this one of the cherry picked PRs. Let me do this, I'll do the review comments in one commit, then do the changes to parameters in an isolated commit, and then we can decide what we want to do. /cc @shauheen

Adding label "shiproom-review" in light of this... sigh.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so, last commit titled Update parameter names to avoid abbreviations, e.g., src => source and suchlike. is up, I updated the parameter names in VBuffer. Names in VBufferEditor were fine. I also updated the documenation in the .md file, but I did not update the actual code that inspired the example since that is in the internal API. (But, the documentation uses the idea merely as a simple, easy to understand example, so I think that's fine.) I took some queues from things like Array.Copy, but without going to far as calling the parameters VBuffer<T> sourceBuffer since I felt that might be going a bit too far, I just named them things like source rather than go quasi-hungarian w.r.t. the names, so, just source, destination, etc., as I believe you also did in VBufferEditor@eerhardt (e.g., your Create methods take destination, not destinationBuffer).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW on the same subject of renamings, there was one place @eerhardt pointed out where an index was being named slot for some reason (since I guess we conceptually separate the concepts of "columns" and "slots" in data view, but, for VBuffer specifically, this should have just been index).

@TomFinleyTomFinley added the documentation Related to documentation of ML.NET label Mar 29, 2019
@glebuk

Copy link
Copy Markdown
Contributor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.


Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs
@glebuk

glebuk commented Mar 29, 2019

Copy link
Copy Markdown
Contributor

A VBuffer<T> is a generic type that supports both dense and sparse vectors

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.) #WontFix


Refers to: docs/code/VBufferCareFeeding.md:9 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.)

Hmmm. I agree that's worth mentioning, but that really has nothing to do with VBuffer<T>, but VectorDataViewType. (I mean, the concept of multiple dimensions does not appear anywhere in any method related to VBuffer itself as far as I can see, even once.)

For that reason, would you mind if I saved this clarification to the point when I am working on updating the IDataViewTypeSystem.md document, where I'd also presumably change the documentation on some of the DataViewType XML comments? I'm not sure this change belongs on VBuffer, since again by itself VBuffer knows literally not one thing about multiple dimensions.

@TomFinley

Copy link
Copy Markdown
ContributorAuthor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.

Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Sounds good. I also took the opportunity to reinforce the idea of implicit and explicit values.

* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Thanks @glebuk, I updated it, let me know if you're happy with it yet.

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
- Coverage 72.52% 72.51% -0.01% 
==========================================
Files 808 808 Lines 144665 144665 Branches 16198 16198 ==========================================
- Hits 104912 104906 -6 - Misses 35342 35348 +6 
Partials 4411 4411
FlagCoverage Δ
#Debug72.51% <ø> (-0.01%)⬇️
#production68.11% <ø> (-0.01%)⬇️
#test88.81% <ø> (ø)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...ML.Transforms/Text/StopWordsRemovingTransformer.cs86.1% <0%> (-0.16%)⬇️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
src/Microsoft.ML.Maml/MAML.cs26.21% <0%> (+1.45%)⬆️

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
+ Coverage 72.52% 72.52% +<.01% 
==========================================
Files 808 808 Lines 144665 144740 +75 Branches 16198 16202 +4 ==========================================
+ Hits 104912 104977 +65 - Misses 35342 35352 +10 
Partials 4411 4411
FlagCoverage Δ
#Debug72.52% <ø> (ø)⬆️
#production68.11% <ø> (-0.01%)⬇️
#test88.82% <ø> (+0.01%)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
.../Microsoft.ML.Tests/TrainerEstimators/SdcaTests.cs97.26% <0%> (-2.74%)⬇️
...rc/Microsoft.ML.StaticPipe/SdcaStaticExtensions.cs81.72% <0%> (-0.61%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...oft.ML.StandardTrainers/Standard/SdcaRegression.cs95.83% <0%> (ø)⬆️
...crosoft.ML.StandardTrainers/Standard/SdcaBinary.cs72.95% <0%> (+0.17%)⬆️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
...c/Microsoft.ML.SamplesUtils/SamplesDatasetUtils.cs24.46% <0%> (+0.73%)⬆️
...StandardTrainers/Standard/StochasticTrainerBase.cs93.02% <0%> (+4.65%)⬆️

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threaddocs/code/VBufferCareFeeding.md
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated

@glebukglebuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just had some random thoughts/comments. Feel free to address as you see appropriate.

@TomFinley
TomFinley merged commit e5cbca7 into dotnet:masterApr 1, 2019
shauheen pushed a commit to shauheen/machinelearning that referenced this pull request Apr 2, 2019
* Improve VBuffer documentation.
* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
* Update parameter names to avoid abbreviations, e.g., src => source and suchlike.
@TomFinley
TomFinley deleted the DocVector branch April 19, 2019 20:13
@ghostghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentationRelated to documentation of ML.NET

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@TomFinley@glebuk@eerhardt@shauheen
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Update VBuffer documentation - #3136

Merged
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector
Apr 1, 2019
Merged

Update VBuffer documentation#3136
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector

Conversation

@TomFinley

Copy link
Copy Markdown
Contributor

Towards #3095, specifically about VBuffers. Changes documentation to reflect the changes made by @eerhardt in his refactoring of #1580.

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
/// <param name="defaultValue">The value to fill in for the implicit sparse entries. This is a potential exception to
/// general expectation of sparse <see cref="VBuffer{T}"/> that the implicit sparse entries have the default value
/// of <typeparamref name="T"/>.</param>
public void CopyTo(Span<T> dst, int ivDst, T defaultValue = default(T))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ivDst [](start = 44, length = 5)

Looks like we still have some acronyms and whatever this is lurking around. Not sure if care enough to change the API for v1...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that changing a parameter name after you ship an API is a breaking change. So it's now or never.

@TomFinleyTomFinleyMar 31, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... I was hoping to not make this one of the cherry picked PRs. Let me do this, I'll do the review comments in one commit, then do the changes to parameters in an isolated commit, and then we can decide what we want to do. /cc @shauheen

Adding label "shiproom-review" in light of this... sigh.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so, last commit titled Update parameter names to avoid abbreviations, e.g., src => source and suchlike. is up, I updated the parameter names in VBuffer. Names in VBufferEditor were fine. I also updated the documenation in the .md file, but I did not update the actual code that inspired the example since that is in the internal API. (But, the documentation uses the idea merely as a simple, easy to understand example, so I think that's fine.) I took some queues from things like Array.Copy, but without going to far as calling the parameters VBuffer<T> sourceBuffer since I felt that might be going a bit too far, I just named them things like source rather than go quasi-hungarian w.r.t. the names, so, just source, destination, etc., as I believe you also did in VBufferEditor@eerhardt (e.g., your Create methods take destination, not destinationBuffer).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW on the same subject of renamings, there was one place @eerhardt pointed out where an index was being named slot for some reason (since I guess we conceptually separate the concepts of "columns" and "slots" in data view, but, for VBuffer specifically, this should have just been index).

@TomFinleyTomFinley added the documentation Related to documentation of ML.NET label Mar 29, 2019
@glebuk

Copy link
Copy Markdown
Contributor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.


Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs
@glebuk

glebuk commented Mar 29, 2019

Copy link
Copy Markdown
Contributor

A VBuffer<T> is a generic type that supports both dense and sparse vectors

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.) #WontFix


Refers to: docs/code/VBufferCareFeeding.md:9 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.)

Hmmm. I agree that's worth mentioning, but that really has nothing to do with VBuffer<T>, but VectorDataViewType. (I mean, the concept of multiple dimensions does not appear anywhere in any method related to VBuffer itself as far as I can see, even once.)

For that reason, would you mind if I saved this clarification to the point when I am working on updating the IDataViewTypeSystem.md document, where I'd also presumably change the documentation on some of the DataViewType XML comments? I'm not sure this change belongs on VBuffer, since again by itself VBuffer knows literally not one thing about multiple dimensions.

@TomFinley

Copy link
Copy Markdown
ContributorAuthor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.

Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Sounds good. I also took the opportunity to reinforce the idea of implicit and explicit values.

* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Thanks @glebuk, I updated it, let me know if you're happy with it yet.

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
- Coverage 72.52% 72.51% -0.01% 
==========================================
Files 808 808 Lines 144665 144665 Branches 16198 16198 ==========================================
- Hits 104912 104906 -6 - Misses 35342 35348 +6 
Partials 4411 4411
FlagCoverage Δ
#Debug72.51% <ø> (-0.01%)⬇️
#production68.11% <ø> (-0.01%)⬇️
#test88.81% <ø> (ø)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...ML.Transforms/Text/StopWordsRemovingTransformer.cs86.1% <0%> (-0.16%)⬇️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
src/Microsoft.ML.Maml/MAML.cs26.21% <0%> (+1.45%)⬆️

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
+ Coverage 72.52% 72.52% +<.01% 
==========================================
Files 808 808 Lines 144665 144740 +75 Branches 16198 16202 +4 ==========================================
+ Hits 104912 104977 +65 - Misses 35342 35352 +10 
Partials 4411 4411
FlagCoverage Δ
#Debug72.52% <ø> (ø)⬆️
#production68.11% <ø> (-0.01%)⬇️
#test88.82% <ø> (+0.01%)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
.../Microsoft.ML.Tests/TrainerEstimators/SdcaTests.cs97.26% <0%> (-2.74%)⬇️
...rc/Microsoft.ML.StaticPipe/SdcaStaticExtensions.cs81.72% <0%> (-0.61%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...oft.ML.StandardTrainers/Standard/SdcaRegression.cs95.83% <0%> (ø)⬆️
...crosoft.ML.StandardTrainers/Standard/SdcaBinary.cs72.95% <0%> (+0.17%)⬆️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
...c/Microsoft.ML.SamplesUtils/SamplesDatasetUtils.cs24.46% <0%> (+0.73%)⬆️
...StandardTrainers/Standard/StochasticTrainerBase.cs93.02% <0%> (+4.65%)⬆️

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threaddocs/code/VBufferCareFeeding.md
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated

@glebukglebuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just had some random thoughts/comments. Feel free to address as you see appropriate.

@TomFinley
TomFinley merged commit e5cbca7 into dotnet:masterApr 1, 2019
shauheen pushed a commit to shauheen/machinelearning that referenced this pull request Apr 2, 2019
* Improve VBuffer documentation.
* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
* Update parameter names to avoid abbreviations, e.g., src => source and suchlike.
@TomFinley
TomFinley deleted the DocVector branch April 19, 2019 20:13
@ghostghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentationRelated to documentation of ML.NET

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@TomFinley@glebuk@eerhardt@shauheen
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update VBuffer documentation - #3136

Merged
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector
Apr 1, 2019
Merged

Update VBuffer documentation#3136
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector

Conversation

@TomFinley

Copy link
Copy Markdown
Contributor

Towards #3095, specifically about VBuffers. Changes documentation to reflect the changes made by @eerhardt in his refactoring of #1580.

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
/// <param name="defaultValue">The value to fill in for the implicit sparse entries. This is a potential exception to
/// general expectation of sparse <see cref="VBuffer{T}"/> that the implicit sparse entries have the default value
/// of <typeparamref name="T"/>.</param>
public void CopyTo(Span<T> dst, int ivDst, T defaultValue = default(T))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ivDst [](start = 44, length = 5)

Looks like we still have some acronyms and whatever this is lurking around. Not sure if care enough to change the API for v1...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that changing a parameter name after you ship an API is a breaking change. So it's now or never.

@TomFinleyTomFinleyMar 31, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... I was hoping to not make this one of the cherry picked PRs. Let me do this, I'll do the review comments in one commit, then do the changes to parameters in an isolated commit, and then we can decide what we want to do. /cc @shauheen

Adding label "shiproom-review" in light of this... sigh.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so, last commit titled Update parameter names to avoid abbreviations, e.g., src => source and suchlike. is up, I updated the parameter names in VBuffer. Names in VBufferEditor were fine. I also updated the documenation in the .md file, but I did not update the actual code that inspired the example since that is in the internal API. (But, the documentation uses the idea merely as a simple, easy to understand example, so I think that's fine.) I took some queues from things like Array.Copy, but without going to far as calling the parameters VBuffer<T> sourceBuffer since I felt that might be going a bit too far, I just named them things like source rather than go quasi-hungarian w.r.t. the names, so, just source, destination, etc., as I believe you also did in VBufferEditor@eerhardt (e.g., your Create methods take destination, not destinationBuffer).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW on the same subject of renamings, there was one place @eerhardt pointed out where an index was being named slot for some reason (since I guess we conceptually separate the concepts of "columns" and "slots" in data view, but, for VBuffer specifically, this should have just been index).

@TomFinleyTomFinley added the documentation Related to documentation of ML.NET label Mar 29, 2019
@glebuk

Copy link
Copy Markdown
Contributor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.


Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs
@glebuk

glebuk commented Mar 29, 2019

Copy link
Copy Markdown
Contributor

A VBuffer<T> is a generic type that supports both dense and sparse vectors

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.) #WontFix


Refers to: docs/code/VBufferCareFeeding.md:9 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.)

Hmmm. I agree that's worth mentioning, but that really has nothing to do with VBuffer<T>, but VectorDataViewType. (I mean, the concept of multiple dimensions does not appear anywhere in any method related to VBuffer itself as far as I can see, even once.)

For that reason, would you mind if I saved this clarification to the point when I am working on updating the IDataViewTypeSystem.md document, where I'd also presumably change the documentation on some of the DataViewType XML comments? I'm not sure this change belongs on VBuffer, since again by itself VBuffer knows literally not one thing about multiple dimensions.

@TomFinley

Copy link
Copy Markdown
ContributorAuthor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.

Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Sounds good. I also took the opportunity to reinforce the idea of implicit and explicit values.

* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Thanks @glebuk, I updated it, let me know if you're happy with it yet.

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
- Coverage 72.52% 72.51% -0.01% 
==========================================
Files 808 808 Lines 144665 144665 Branches 16198 16198 ==========================================
- Hits 104912 104906 -6 - Misses 35342 35348 +6 
Partials 4411 4411
FlagCoverage Δ
#Debug72.51% <ø> (-0.01%)⬇️
#production68.11% <ø> (-0.01%)⬇️
#test88.81% <ø> (ø)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...ML.Transforms/Text/StopWordsRemovingTransformer.cs86.1% <0%> (-0.16%)⬇️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
src/Microsoft.ML.Maml/MAML.cs26.21% <0%> (+1.45%)⬆️

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
+ Coverage 72.52% 72.52% +<.01% 
==========================================
Files 808 808 Lines 144665 144740 +75 Branches 16198 16202 +4 ==========================================
+ Hits 104912 104977 +65 - Misses 35342 35352 +10 
Partials 4411 4411
FlagCoverage Δ
#Debug72.52% <ø> (ø)⬆️
#production68.11% <ø> (-0.01%)⬇️
#test88.82% <ø> (+0.01%)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
.../Microsoft.ML.Tests/TrainerEstimators/SdcaTests.cs97.26% <0%> (-2.74%)⬇️
...rc/Microsoft.ML.StaticPipe/SdcaStaticExtensions.cs81.72% <0%> (-0.61%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...oft.ML.StandardTrainers/Standard/SdcaRegression.cs95.83% <0%> (ø)⬆️
...crosoft.ML.StandardTrainers/Standard/SdcaBinary.cs72.95% <0%> (+0.17%)⬆️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
...c/Microsoft.ML.SamplesUtils/SamplesDatasetUtils.cs24.46% <0%> (+0.73%)⬆️
...StandardTrainers/Standard/StochasticTrainerBase.cs93.02% <0%> (+4.65%)⬆️

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threaddocs/code/VBufferCareFeeding.md
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated

@glebukglebuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just had some random thoughts/comments. Feel free to address as you see appropriate.

@TomFinley
TomFinley merged commit e5cbca7 into dotnet:masterApr 1, 2019
shauheen pushed a commit to shauheen/machinelearning that referenced this pull request Apr 2, 2019
* Improve VBuffer documentation.
* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
* Update parameter names to avoid abbreviations, e.g., src => source and suchlike.
@TomFinley
TomFinley deleted the DocVector branch April 19, 2019 20:13
@ghostghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentationRelated to documentation of ML.NET

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@TomFinley@glebuk@eerhardt@shauheen
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update VBuffer documentation - #3136

Merged
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector
Apr 1, 2019
Merged

Update VBuffer documentation#3136
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector

Conversation

@TomFinley

Copy link
Copy Markdown
Contributor

Towards #3095, specifically about VBuffers. Changes documentation to reflect the changes made by @eerhardt in his refactoring of #1580.

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
/// <param name="defaultValue">The value to fill in for the implicit sparse entries. This is a potential exception to
/// general expectation of sparse <see cref="VBuffer{T}"/> that the implicit sparse entries have the default value
/// of <typeparamref name="T"/>.</param>
public void CopyTo(Span<T> dst, int ivDst, T defaultValue = default(T))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ivDst [](start = 44, length = 5)

Looks like we still have some acronyms and whatever this is lurking around. Not sure if care enough to change the API for v1...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that changing a parameter name after you ship an API is a breaking change. So it's now or never.

@TomFinleyTomFinleyMar 31, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... I was hoping to not make this one of the cherry picked PRs. Let me do this, I'll do the review comments in one commit, then do the changes to parameters in an isolated commit, and then we can decide what we want to do. /cc @shauheen

Adding label "shiproom-review" in light of this... sigh.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so, last commit titled Update parameter names to avoid abbreviations, e.g., src => source and suchlike. is up, I updated the parameter names in VBuffer. Names in VBufferEditor were fine. I also updated the documenation in the .md file, but I did not update the actual code that inspired the example since that is in the internal API. (But, the documentation uses the idea merely as a simple, easy to understand example, so I think that's fine.) I took some queues from things like Array.Copy, but without going to far as calling the parameters VBuffer<T> sourceBuffer since I felt that might be going a bit too far, I just named them things like source rather than go quasi-hungarian w.r.t. the names, so, just source, destination, etc., as I believe you also did in VBufferEditor@eerhardt (e.g., your Create methods take destination, not destinationBuffer).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW on the same subject of renamings, there was one place @eerhardt pointed out where an index was being named slot for some reason (since I guess we conceptually separate the concepts of "columns" and "slots" in data view, but, for VBuffer specifically, this should have just been index).

@TomFinleyTomFinley added the documentation Related to documentation of ML.NET label Mar 29, 2019
@glebuk

Copy link
Copy Markdown
Contributor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.


Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs
@glebuk

glebuk commented Mar 29, 2019

Copy link
Copy Markdown
Contributor

A VBuffer<T> is a generic type that supports both dense and sparse vectors

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.) #WontFix


Refers to: docs/code/VBufferCareFeeding.md:9 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.)

Hmmm. I agree that's worth mentioning, but that really has nothing to do with VBuffer<T>, but VectorDataViewType. (I mean, the concept of multiple dimensions does not appear anywhere in any method related to VBuffer itself as far as I can see, even once.)

For that reason, would you mind if I saved this clarification to the point when I am working on updating the IDataViewTypeSystem.md document, where I'd also presumably change the documentation on some of the DataViewType XML comments? I'm not sure this change belongs on VBuffer, since again by itself VBuffer knows literally not one thing about multiple dimensions.

@TomFinley

Copy link
Copy Markdown
ContributorAuthor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.

Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Sounds good. I also took the opportunity to reinforce the idea of implicit and explicit values.

* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Thanks @glebuk, I updated it, let me know if you're happy with it yet.

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
- Coverage 72.52% 72.51% -0.01% 
==========================================
Files 808 808 Lines 144665 144665 Branches 16198 16198 ==========================================
- Hits 104912 104906 -6 - Misses 35342 35348 +6 
Partials 4411 4411
FlagCoverage Δ
#Debug72.51% <ø> (-0.01%)⬇️
#production68.11% <ø> (-0.01%)⬇️
#test88.81% <ø> (ø)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...ML.Transforms/Text/StopWordsRemovingTransformer.cs86.1% <0%> (-0.16%)⬇️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
src/Microsoft.ML.Maml/MAML.cs26.21% <0%> (+1.45%)⬆️

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
+ Coverage 72.52% 72.52% +<.01% 
==========================================
Files 808 808 Lines 144665 144740 +75 Branches 16198 16202 +4 ==========================================
+ Hits 104912 104977 +65 - Misses 35342 35352 +10 
Partials 4411 4411
FlagCoverage Δ
#Debug72.52% <ø> (ø)⬆️
#production68.11% <ø> (-0.01%)⬇️
#test88.82% <ø> (+0.01%)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
.../Microsoft.ML.Tests/TrainerEstimators/SdcaTests.cs97.26% <0%> (-2.74%)⬇️
...rc/Microsoft.ML.StaticPipe/SdcaStaticExtensions.cs81.72% <0%> (-0.61%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...oft.ML.StandardTrainers/Standard/SdcaRegression.cs95.83% <0%> (ø)⬆️
...crosoft.ML.StandardTrainers/Standard/SdcaBinary.cs72.95% <0%> (+0.17%)⬆️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
...c/Microsoft.ML.SamplesUtils/SamplesDatasetUtils.cs24.46% <0%> (+0.73%)⬆️
...StandardTrainers/Standard/StochasticTrainerBase.cs93.02% <0%> (+4.65%)⬆️

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threaddocs/code/VBufferCareFeeding.md
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated

@glebukglebuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just had some random thoughts/comments. Feel free to address as you see appropriate.

@TomFinley
TomFinley merged commit e5cbca7 into dotnet:masterApr 1, 2019
shauheen pushed a commit to shauheen/machinelearning that referenced this pull request Apr 2, 2019
* Improve VBuffer documentation.
* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
* Update parameter names to avoid abbreviations, e.g., src => source and suchlike.
@TomFinley
TomFinley deleted the DocVector branch April 19, 2019 20:13
@ghostghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentationRelated to documentation of ML.NET

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@TomFinley@glebuk@eerhardt@shauheen
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Update VBuffer documentation - #3136

Merged
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector
Apr 1, 2019
Merged

Update VBuffer documentation#3136
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector

Conversation

@TomFinley

Copy link
Copy Markdown
Contributor

Towards #3095, specifically about VBuffers. Changes documentation to reflect the changes made by @eerhardt in his refactoring of #1580.

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
/// <param name="defaultValue">The value to fill in for the implicit sparse entries. This is a potential exception to
/// general expectation of sparse <see cref="VBuffer{T}"/> that the implicit sparse entries have the default value
/// of <typeparamref name="T"/>.</param>
public void CopyTo(Span<T> dst, int ivDst, T defaultValue = default(T))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ivDst [](start = 44, length = 5)

Looks like we still have some acronyms and whatever this is lurking around. Not sure if care enough to change the API for v1...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that changing a parameter name after you ship an API is a breaking change. So it's now or never.

@TomFinleyTomFinleyMar 31, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... I was hoping to not make this one of the cherry picked PRs. Let me do this, I'll do the review comments in one commit, then do the changes to parameters in an isolated commit, and then we can decide what we want to do. /cc @shauheen

Adding label "shiproom-review" in light of this... sigh.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so, last commit titled Update parameter names to avoid abbreviations, e.g., src => source and suchlike. is up, I updated the parameter names in VBuffer. Names in VBufferEditor were fine. I also updated the documenation in the .md file, but I did not update the actual code that inspired the example since that is in the internal API. (But, the documentation uses the idea merely as a simple, easy to understand example, so I think that's fine.) I took some queues from things like Array.Copy, but without going to far as calling the parameters VBuffer<T> sourceBuffer since I felt that might be going a bit too far, I just named them things like source rather than go quasi-hungarian w.r.t. the names, so, just source, destination, etc., as I believe you also did in VBufferEditor@eerhardt (e.g., your Create methods take destination, not destinationBuffer).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW on the same subject of renamings, there was one place @eerhardt pointed out where an index was being named slot for some reason (since I guess we conceptually separate the concepts of "columns" and "slots" in data view, but, for VBuffer specifically, this should have just been index).

@TomFinleyTomFinley added the documentation Related to documentation of ML.NET label Mar 29, 2019
@glebuk

Copy link
Copy Markdown
Contributor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.


Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs
@glebuk

glebuk commented Mar 29, 2019

Copy link
Copy Markdown
Contributor

A VBuffer<T> is a generic type that supports both dense and sparse vectors

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.) #WontFix


Refers to: docs/code/VBufferCareFeeding.md:9 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.)

Hmmm. I agree that's worth mentioning, but that really has nothing to do with VBuffer<T>, but VectorDataViewType. (I mean, the concept of multiple dimensions does not appear anywhere in any method related to VBuffer itself as far as I can see, even once.)

For that reason, would you mind if I saved this clarification to the point when I am working on updating the IDataViewTypeSystem.md document, where I'd also presumably change the documentation on some of the DataViewType XML comments? I'm not sure this change belongs on VBuffer, since again by itself VBuffer knows literally not one thing about multiple dimensions.

@TomFinley

Copy link
Copy Markdown
ContributorAuthor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.

Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Sounds good. I also took the opportunity to reinforce the idea of implicit and explicit values.

* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Thanks @glebuk, I updated it, let me know if you're happy with it yet.

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
- Coverage 72.52% 72.51% -0.01% 
==========================================
Files 808 808 Lines 144665 144665 Branches 16198 16198 ==========================================
- Hits 104912 104906 -6 - Misses 35342 35348 +6 
Partials 4411 4411
FlagCoverage Δ
#Debug72.51% <ø> (-0.01%)⬇️
#production68.11% <ø> (-0.01%)⬇️
#test88.81% <ø> (ø)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...ML.Transforms/Text/StopWordsRemovingTransformer.cs86.1% <0%> (-0.16%)⬇️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
src/Microsoft.ML.Maml/MAML.cs26.21% <0%> (+1.45%)⬆️

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
+ Coverage 72.52% 72.52% +<.01% 
==========================================
Files 808 808 Lines 144665 144740 +75 Branches 16198 16202 +4 ==========================================
+ Hits 104912 104977 +65 - Misses 35342 35352 +10 
Partials 4411 4411
FlagCoverage Δ
#Debug72.52% <ø> (ø)⬆️
#production68.11% <ø> (-0.01%)⬇️
#test88.82% <ø> (+0.01%)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
.../Microsoft.ML.Tests/TrainerEstimators/SdcaTests.cs97.26% <0%> (-2.74%)⬇️
...rc/Microsoft.ML.StaticPipe/SdcaStaticExtensions.cs81.72% <0%> (-0.61%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...oft.ML.StandardTrainers/Standard/SdcaRegression.cs95.83% <0%> (ø)⬆️
...crosoft.ML.StandardTrainers/Standard/SdcaBinary.cs72.95% <0%> (+0.17%)⬆️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
...c/Microsoft.ML.SamplesUtils/SamplesDatasetUtils.cs24.46% <0%> (+0.73%)⬆️
...StandardTrainers/Standard/StochasticTrainerBase.cs93.02% <0%> (+4.65%)⬆️

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threaddocs/code/VBufferCareFeeding.md
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated

@glebukglebuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just had some random thoughts/comments. Feel free to address as you see appropriate.

@TomFinley
TomFinley merged commit e5cbca7 into dotnet:masterApr 1, 2019
shauheen pushed a commit to shauheen/machinelearning that referenced this pull request Apr 2, 2019
* Improve VBuffer documentation.
* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
* Update parameter names to avoid abbreviations, e.g., src => source and suchlike.
@TomFinley
TomFinley deleted the DocVector branch April 19, 2019 20:13
@ghostghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentationRelated to documentation of ML.NET

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@TomFinley@glebuk@eerhardt@shauheen
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update VBuffer documentation - #3136

Merged
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector
Apr 1, 2019
Merged

Update VBuffer documentation#3136
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector

Conversation

@TomFinley

Copy link
Copy Markdown
Contributor

Towards #3095, specifically about VBuffers. Changes documentation to reflect the changes made by @eerhardt in his refactoring of #1580.

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
/// <param name="defaultValue">The value to fill in for the implicit sparse entries. This is a potential exception to
/// general expectation of sparse <see cref="VBuffer{T}"/> that the implicit sparse entries have the default value
/// of <typeparamref name="T"/>.</param>
public void CopyTo(Span<T> dst, int ivDst, T defaultValue = default(T))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ivDst [](start = 44, length = 5)

Looks like we still have some acronyms and whatever this is lurking around. Not sure if care enough to change the API for v1...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that changing a parameter name after you ship an API is a breaking change. So it's now or never.

@TomFinleyTomFinleyMar 31, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... I was hoping to not make this one of the cherry picked PRs. Let me do this, I'll do the review comments in one commit, then do the changes to parameters in an isolated commit, and then we can decide what we want to do. /cc @shauheen

Adding label "shiproom-review" in light of this... sigh.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so, last commit titled Update parameter names to avoid abbreviations, e.g., src => source and suchlike. is up, I updated the parameter names in VBuffer. Names in VBufferEditor were fine. I also updated the documenation in the .md file, but I did not update the actual code that inspired the example since that is in the internal API. (But, the documentation uses the idea merely as a simple, easy to understand example, so I think that's fine.) I took some queues from things like Array.Copy, but without going to far as calling the parameters VBuffer<T> sourceBuffer since I felt that might be going a bit too far, I just named them things like source rather than go quasi-hungarian w.r.t. the names, so, just source, destination, etc., as I believe you also did in VBufferEditor@eerhardt (e.g., your Create methods take destination, not destinationBuffer).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW on the same subject of renamings, there was one place @eerhardt pointed out where an index was being named slot for some reason (since I guess we conceptually separate the concepts of "columns" and "slots" in data view, but, for VBuffer specifically, this should have just been index).

@TomFinleyTomFinley added the documentation Related to documentation of ML.NET label Mar 29, 2019
@glebuk

Copy link
Copy Markdown
Contributor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.


Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs
@glebuk

glebuk commented Mar 29, 2019

Copy link
Copy Markdown
Contributor

A VBuffer<T> is a generic type that supports both dense and sparse vectors

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.) #WontFix


Refers to: docs/code/VBufferCareFeeding.md:9 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.)

Hmmm. I agree that's worth mentioning, but that really has nothing to do with VBuffer<T>, but VectorDataViewType. (I mean, the concept of multiple dimensions does not appear anywhere in any method related to VBuffer itself as far as I can see, even once.)

For that reason, would you mind if I saved this clarification to the point when I am working on updating the IDataViewTypeSystem.md document, where I'd also presumably change the documentation on some of the DataViewType XML comments? I'm not sure this change belongs on VBuffer, since again by itself VBuffer knows literally not one thing about multiple dimensions.

@TomFinley

Copy link
Copy Markdown
ContributorAuthor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.

Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Sounds good. I also took the opportunity to reinforce the idea of implicit and explicit values.

* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Thanks @glebuk, I updated it, let me know if you're happy with it yet.

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
- Coverage 72.52% 72.51% -0.01% 
==========================================
Files 808 808 Lines 144665 144665 Branches 16198 16198 ==========================================
- Hits 104912 104906 -6 - Misses 35342 35348 +6 
Partials 4411 4411
FlagCoverage Δ
#Debug72.51% <ø> (-0.01%)⬇️
#production68.11% <ø> (-0.01%)⬇️
#test88.81% <ø> (ø)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...ML.Transforms/Text/StopWordsRemovingTransformer.cs86.1% <0%> (-0.16%)⬇️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
src/Microsoft.ML.Maml/MAML.cs26.21% <0%> (+1.45%)⬆️

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
+ Coverage 72.52% 72.52% +<.01% 
==========================================
Files 808 808 Lines 144665 144740 +75 Branches 16198 16202 +4 ==========================================
+ Hits 104912 104977 +65 - Misses 35342 35352 +10 
Partials 4411 4411
FlagCoverage Δ
#Debug72.52% <ø> (ø)⬆️
#production68.11% <ø> (-0.01%)⬇️
#test88.82% <ø> (+0.01%)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
.../Microsoft.ML.Tests/TrainerEstimators/SdcaTests.cs97.26% <0%> (-2.74%)⬇️
...rc/Microsoft.ML.StaticPipe/SdcaStaticExtensions.cs81.72% <0%> (-0.61%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...oft.ML.StandardTrainers/Standard/SdcaRegression.cs95.83% <0%> (ø)⬆️
...crosoft.ML.StandardTrainers/Standard/SdcaBinary.cs72.95% <0%> (+0.17%)⬆️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
...c/Microsoft.ML.SamplesUtils/SamplesDatasetUtils.cs24.46% <0%> (+0.73%)⬆️
...StandardTrainers/Standard/StochasticTrainerBase.cs93.02% <0%> (+4.65%)⬆️

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threaddocs/code/VBufferCareFeeding.md
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated

@glebukglebuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just had some random thoughts/comments. Feel free to address as you see appropriate.

@TomFinley
TomFinley merged commit e5cbca7 into dotnet:masterApr 1, 2019
shauheen pushed a commit to shauheen/machinelearning that referenced this pull request Apr 2, 2019
* Improve VBuffer documentation.
* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
* Update parameter names to avoid abbreviations, e.g., src => source and suchlike.
@TomFinley
TomFinley deleted the DocVector branch April 19, 2019 20:13
@ghostghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentationRelated to documentation of ML.NET

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@TomFinley@glebuk@eerhardt@shauheen
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update VBuffer documentation - #3136

Merged
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector
Apr 1, 2019
Merged

Update VBuffer documentation#3136
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector

Conversation

@TomFinley

Copy link
Copy Markdown
Contributor

Towards #3095, specifically about VBuffers. Changes documentation to reflect the changes made by @eerhardt in his refactoring of #1580.

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
/// <param name="defaultValue">The value to fill in for the implicit sparse entries. This is a potential exception to
/// general expectation of sparse <see cref="VBuffer{T}"/> that the implicit sparse entries have the default value
/// of <typeparamref name="T"/>.</param>
public void CopyTo(Span<T> dst, int ivDst, T defaultValue = default(T))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ivDst [](start = 44, length = 5)

Looks like we still have some acronyms and whatever this is lurking around. Not sure if care enough to change the API for v1...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that changing a parameter name after you ship an API is a breaking change. So it's now or never.

@TomFinleyTomFinleyMar 31, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... I was hoping to not make this one of the cherry picked PRs. Let me do this, I'll do the review comments in one commit, then do the changes to parameters in an isolated commit, and then we can decide what we want to do. /cc @shauheen

Adding label "shiproom-review" in light of this... sigh.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so, last commit titled Update parameter names to avoid abbreviations, e.g., src => source and suchlike. is up, I updated the parameter names in VBuffer. Names in VBufferEditor were fine. I also updated the documenation in the .md file, but I did not update the actual code that inspired the example since that is in the internal API. (But, the documentation uses the idea merely as a simple, easy to understand example, so I think that's fine.) I took some queues from things like Array.Copy, but without going to far as calling the parameters VBuffer<T> sourceBuffer since I felt that might be going a bit too far, I just named them things like source rather than go quasi-hungarian w.r.t. the names, so, just source, destination, etc., as I believe you also did in VBufferEditor@eerhardt (e.g., your Create methods take destination, not destinationBuffer).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW on the same subject of renamings, there was one place @eerhardt pointed out where an index was being named slot for some reason (since I guess we conceptually separate the concepts of "columns" and "slots" in data view, but, for VBuffer specifically, this should have just been index).

@TomFinleyTomFinley added the documentation Related to documentation of ML.NET label Mar 29, 2019
@glebuk

Copy link
Copy Markdown
Contributor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.


Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs
@glebuk

glebuk commented Mar 29, 2019

Copy link
Copy Markdown
Contributor

A VBuffer<T> is a generic type that supports both dense and sparse vectors

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.) #WontFix


Refers to: docs/code/VBufferCareFeeding.md:9 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.)

Hmmm. I agree that's worth mentioning, but that really has nothing to do with VBuffer<T>, but VectorDataViewType. (I mean, the concept of multiple dimensions does not appear anywhere in any method related to VBuffer itself as far as I can see, even once.)

For that reason, would you mind if I saved this clarification to the point when I am working on updating the IDataViewTypeSystem.md document, where I'd also presumably change the documentation on some of the DataViewType XML comments? I'm not sure this change belongs on VBuffer, since again by itself VBuffer knows literally not one thing about multiple dimensions.

@TomFinley

Copy link
Copy Markdown
ContributorAuthor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.

Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Sounds good. I also took the opportunity to reinforce the idea of implicit and explicit values.

* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Thanks @glebuk, I updated it, let me know if you're happy with it yet.

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
- Coverage 72.52% 72.51% -0.01% 
==========================================
Files 808 808 Lines 144665 144665 Branches 16198 16198 ==========================================
- Hits 104912 104906 -6 - Misses 35342 35348 +6 
Partials 4411 4411
FlagCoverage Δ
#Debug72.51% <ø> (-0.01%)⬇️
#production68.11% <ø> (-0.01%)⬇️
#test88.81% <ø> (ø)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...ML.Transforms/Text/StopWordsRemovingTransformer.cs86.1% <0%> (-0.16%)⬇️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
src/Microsoft.ML.Maml/MAML.cs26.21% <0%> (+1.45%)⬆️

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
+ Coverage 72.52% 72.52% +<.01% 
==========================================
Files 808 808 Lines 144665 144740 +75 Branches 16198 16202 +4 ==========================================
+ Hits 104912 104977 +65 - Misses 35342 35352 +10 
Partials 4411 4411
FlagCoverage Δ
#Debug72.52% <ø> (ø)⬆️
#production68.11% <ø> (-0.01%)⬇️
#test88.82% <ø> (+0.01%)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
.../Microsoft.ML.Tests/TrainerEstimators/SdcaTests.cs97.26% <0%> (-2.74%)⬇️
...rc/Microsoft.ML.StaticPipe/SdcaStaticExtensions.cs81.72% <0%> (-0.61%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...oft.ML.StandardTrainers/Standard/SdcaRegression.cs95.83% <0%> (ø)⬆️
...crosoft.ML.StandardTrainers/Standard/SdcaBinary.cs72.95% <0%> (+0.17%)⬆️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
...c/Microsoft.ML.SamplesUtils/SamplesDatasetUtils.cs24.46% <0%> (+0.73%)⬆️
...StandardTrainers/Standard/StochasticTrainerBase.cs93.02% <0%> (+4.65%)⬆️

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threaddocs/code/VBufferCareFeeding.md
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated

@glebukglebuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just had some random thoughts/comments. Feel free to address as you see appropriate.

@TomFinley
TomFinley merged commit e5cbca7 into dotnet:masterApr 1, 2019
shauheen pushed a commit to shauheen/machinelearning that referenced this pull request Apr 2, 2019
* Improve VBuffer documentation.
* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
* Update parameter names to avoid abbreviations, e.g., src => source and suchlike.
@TomFinley
TomFinley deleted the DocVector branch April 19, 2019 20:13
@ghostghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentationRelated to documentation of ML.NET

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@TomFinley@glebuk@eerhardt@shauheen
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Update VBuffer documentation - #3136

Merged
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector
Apr 1, 2019
Merged

Update VBuffer documentation#3136
TomFinley merged 6 commits into
dotnet:masterfrom
TomFinley:DocVector

Conversation

@TomFinley

Copy link
Copy Markdown
Contributor

Towards #3095, specifically about VBuffers. Changes documentation to reflect the changes made by @eerhardt in his refactoring of #1580.

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
/// <param name="defaultValue">The value to fill in for the implicit sparse entries. This is a potential exception to
/// general expectation of sparse <see cref="VBuffer{T}"/> that the implicit sparse entries have the default value
/// of <typeparamref name="T"/>.</param>
public void CopyTo(Span<T> dst, int ivDst, T defaultValue = default(T))

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ivDst [](start = 44, length = 5)

Looks like we still have some acronyms and whatever this is lurking around. Not sure if care enough to change the API for v1...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that changing a parameter name after you ship an API is a breaking change. So it's now or never.

@TomFinleyTomFinleyMar 31, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... I was hoping to not make this one of the cherry picked PRs. Let me do this, I'll do the review comments in one commit, then do the changes to parameters in an isolated commit, and then we can decide what we want to do. /cc @shauheen

Adding label "shiproom-review" in light of this... sigh.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so, last commit titled Update parameter names to avoid abbreviations, e.g., src => source and suchlike. is up, I updated the parameter names in VBuffer. Names in VBufferEditor were fine. I also updated the documenation in the .md file, but I did not update the actual code that inspired the example since that is in the internal API. (But, the documentation uses the idea merely as a simple, easy to understand example, so I think that's fine.) I took some queues from things like Array.Copy, but without going to far as calling the parameters VBuffer<T> sourceBuffer since I felt that might be going a bit too far, I just named them things like source rather than go quasi-hungarian w.r.t. the names, so, just source, destination, etc., as I believe you also did in VBufferEditor@eerhardt (e.g., your Create methods take destination, not destinationBuffer).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW on the same subject of renamings, there was one place @eerhardt pointed out where an index was being named slot for some reason (since I guess we conceptually separate the concepts of "columns" and "slots" in data view, but, for VBuffer specifically, this should have just been index).

@TomFinleyTomFinley added the documentation Related to documentation of ML.NET label Mar 29, 2019
@glebuk

Copy link
Copy Markdown
Contributor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.


Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs
@glebuk

glebuk commented Mar 29, 2019

Copy link
Copy Markdown
Contributor

A VBuffer<T> is a generic type that supports both dense and sparse vectors

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.) #WontFix


Refers to: docs/code/VBufferCareFeeding.md:9 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Perhaps, it should mention how to represent multi-dimensional data, such as multi-color pixels? (either howto or mention the limitation.)

Hmmm. I agree that's worth mentioning, but that really has nothing to do with VBuffer<T>, but VectorDataViewType. (I mean, the concept of multiple dimensions does not appear anywhere in any method related to VBuffer itself as far as I can see, even once.)

For that reason, would you mind if I saved this clarification to the point when I am working on updating the IDataViewTypeSystem.md document, where I'd also presumably change the documentation on some of the DataViewType XML comments? I'm not sure this change belongs on VBuffer, since again by itself VBuffer knows literally not one thing about multiple dimensions.

@TomFinley

Copy link
Copy Markdown
ContributorAuthor
 /// The logical length of the buffer.

perhaps make it a bit clearer:
The logical length of the buffer. The value would include counts of both sparse and dense values.

Refers to: src/Microsoft.ML.DataView/VBuffer.cs:49 in ce4618d. [](commit_id = ce4618d, deletion_comment = False)

Sounds good. I also took the opportunity to reinforce the idea of implicit and explicit values.

* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
@TomFinley

Copy link
Copy Markdown
ContributorAuthor

Thanks @glebuk, I updated it, let me know if you're happy with it yet.

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
- Coverage 72.52% 72.51% -0.01% 
==========================================
Files 808 808 Lines 144665 144665 Branches 16198 16198 ==========================================
- Hits 104912 104906 -6 - Misses 35342 35348 +6 
Partials 4411 4411
FlagCoverage Δ
#Debug72.51% <ø> (-0.01%)⬇️
#production68.11% <ø> (-0.01%)⬇️
#test88.81% <ø> (ø)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...ML.Transforms/Text/StopWordsRemovingTransformer.cs86.1% <0%> (-0.16%)⬇️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
src/Microsoft.ML.Maml/MAML.cs26.21% <0%> (+1.45%)⬆️

@codecov

codecovBot commented Mar 29, 2019

Copy link
Copy Markdown

Codecov Report

Merging #3136 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@ Coverage Diff @@## master #3136 +/- ##
==========================================
+ Coverage 72.52% 72.52% +<.01% 
==========================================
Files 808 808 Lines 144665 144740 +75 Branches 16198 16202 +4 ==========================================
+ Hits 104912 104977 +65 - Misses 35342 35352 +10 
Partials 4411 4411
FlagCoverage Δ
#Debug72.52% <ø> (ø)⬆️
#production68.11% <ø> (-0.01%)⬇️
#test88.82% <ø> (+0.01%)⬆️
Impacted FilesCoverage Δ
...c/Microsoft.ML.FastTree/Utils/ThreadTaskManager.cs79.48% <0%> (-20.52%)⬇️
.../Microsoft.ML.Tests/TrainerEstimators/SdcaTests.cs97.26% <0%> (-2.74%)⬇️
...rc/Microsoft.ML.StaticPipe/SdcaStaticExtensions.cs81.72% <0%> (-0.61%)⬇️
...soft.ML.Data/DataLoadSave/Text/TextLoaderCursor.cs84.7% <0%> (-0.21%)⬇️
...oft.ML.StandardTrainers/Standard/SdcaRegression.cs95.83% <0%> (ø)⬆️
...crosoft.ML.StandardTrainers/Standard/SdcaBinary.cs72.95% <0%> (+0.17%)⬆️
...StandardTrainers/Standard/LinearModelParameters.cs60.31% <0%> (+0.26%)⬆️
...c/Microsoft.ML.SamplesUtils/SamplesDatasetUtils.cs24.46% <0%> (+0.73%)⬆️
...StandardTrainers/Standard/StochasticTrainerBase.cs93.02% <0%> (+4.65%)⬆️

Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threaddocs/code/VBufferCareFeeding.md
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated
Comment threaddocs/code/VBufferCareFeeding.md Outdated

@glebukglebuk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBufferEditor.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated
Comment threadsrc/Microsoft.ML.DataView/VBuffer.cs Outdated

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I just had some random thoughts/comments. Feel free to address as you see appropriate.

@TomFinley
TomFinley merged commit e5cbca7 into dotnet:masterApr 1, 2019
shauheen pushed a commit to shauheen/machinelearning that referenced this pull request Apr 2, 2019
* Improve VBuffer documentation.
* Improve the XML documentation for VBuffer/VBufferEditor.
* Update the "best practices" documentation to reflect recent changes.
* Update parameter names to avoid abbreviations, e.g., src => source and suchlike.
@TomFinley
TomFinley deleted the DocVector branch April 19, 2019 20:13
@ghostghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentationRelated to documentation of ML.NET

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@TomFinley@glebuk@eerhardt@shauheen