-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Add NameEntityRecognition and Q&A deep learning tasks. #6760
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
46ffbe8
NER
michaelgsharp 58a3e27
QA almost done, runtime error
michaelgsharp 73fa04c
QA finished
michaelgsharp a5e4c5f
fixes from PR comments
michaelgsharp a95fa1e
fixed build
michaelgsharp 0643cc8
build fixes
michaelgsharp bc66ba9
perf changes
michaelgsharp bc109b2
made disposable
michaelgsharp d51db64
fixed not disposing model
michaelgsharp 27b90d4
added some disposables to TensorFlow for memory
michaelgsharp 7268f3c
build testing
michaelgsharp 544228d
fixing build
michaelgsharp 6382ba3
added missing dispose
michaelgsharp 286c5b2
build fixes
michaelgsharp 5c96559
build fixes
michaelgsharp 407964d
testing macos fix
michaelgsharp File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// Licensed to the .NET Foundation under one or more agreements. | ||
// The .NET Foundation licenses this file to you under the MIT license. | ||
// See the LICENSE file in the project root for more information. | ||
|
||
using System; | ||
using System.Collections.Generic; | ||
using System.Text; | ||
|
||
namespace Microsoft.ML.TorchSharp.NasBert | ||
{ | ||
internal enum BertModelType | ||
{ | ||
NasBert, | ||
Roberta | ||
} | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
36 changes: 36 additions & 0 deletions
36
src/Microsoft.ML.TorchSharp/NasBert/Models/ModelPrediction.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
// Licensed to the .NET Foundation under one or more agreements. | ||
// The .NET Foundation licenses this file to you under the MIT license. | ||
// See the LICENSE file in the project root for more information. | ||
|
||
using TorchSharp; | ||
|
||
namespace Microsoft.ML.TorchSharp.NasBert.Models | ||
{ | ||
internal sealed class ModelForPrediction : NasBertModel | ||
{ | ||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "MSML_PrivateFieldName:Private field name not in: _camelCase format", Justification = "Has to match TorchSharp model.")] | ||
private readonly PredictionHead PredictionHead; | ||
JakeRadMSFT marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
public override BaseHead GetHead() => PredictionHead; | ||
|
||
public ModelForPrediction(NasBertTrainer.NasBertOptions options, int padIndex, int symbolsCount, int numClasses) | ||
: base(options, padIndex, symbolsCount) | ||
{ | ||
PredictionHead = new PredictionHead( | ||
inputDim: Options.EncoderOutputDim, | ||
numClasses: numClasses, | ||
dropoutRate: Options.PoolerDropout); | ||
Initialize(); | ||
RegisterComponents(); | ||
} | ||
|
||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "MSML_GeneralName:This name should be PascalCased", Justification = "Need to match TorchSharp.")] | ||
public override torch.Tensor forward(torch.Tensor srcTokens, torch.Tensor tokenMask = null) | ||
{ | ||
using var disposeScope = torch.NewDisposeScope(); | ||
var x = ExtractFeatures(srcTokens); | ||
x = PredictionHead.call(x); | ||
return x.MoveToOuterDisposeScope(); | ||
} | ||
} | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NERInferenceModel?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't for NER. Its for SentenceSimilarity and TextClassification. How about TextModel? TextModelForPrediction? Thoughts?