Skip to content

Updated Tensorflow.Net to 0.70.2 with Tensorflow 2.7.0. #7472

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Crichen
Copy link

@Crichen Crichen commented May 23, 2025

Fixes #7471

NumSharp replaced with Tensorflow.NumPy.
TensorShape replaced with Shape, Shape object has dimensions as 64 bit long, check added for casting to 32 bit int alsoTensor constructor using SafeTensorHandle/DangerousGetHandle and TF_DataType not required when casting.

Added StringTensorFactory to wrap addition tensorflow.dll methods required to create Tensors from string based input.

We are excited to review your PR.

So we can do the best job, please check:

  • There's a descriptive title that will make sense to other developers some time from now.
  • There's associated issues. All PR's should have issue(s) associated - unless a trivial self-evident change such as fixing a typo. You can use the format Fixes #nnnn in your description to cause GitHub to automatically close the issue(s) when your PR is merged.
  • Your change description explains what the change does, why you chose your approach, and anything else that reviewers should know.
  • You have included any necessary tests in the same PR.

NumSharp replaced with Tensorflow.NumPy.
TensorShape replaced with Shape, Shape object has dimensions as 64 bit long, check added for casting to 32 bit int alsoTensor constructor using SafeTensorHandle/DangerousGetHandle and TF_DataType not required when casting.

Added StringTensorFactory to wrap addition tensorflow.dll methods required to create Tensors from string based input.
@Crichen
Copy link
Author

Crichen commented May 23, 2025

@Crichen please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@dotnet-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@dotnet-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@dotnet-policy-service agree company="Microsoft"

Contributor License Agreement

@dotnet-policy-service agree

@Crichen
Copy link
Author

Crichen commented May 23, 2025

CI failing is interesting, I wonder if the dotnet9.0 runtime needs to be included in the initial build steps?
Following the standard build process: 6.0.36, 8.0.16 and 10.0.0-preview.3.25171.5 are installed to the machinelearning\.dotnet folder. Running .\build.cmd -test -integrationTest resulted in errors with referencing 9.0.

I installed the runtime manually to the machinelearning\.dotnet location and this was then resolved. Very unsure of where in the tooling pipeline this would need to be updated.

@Crichen
Copy link
Author

Crichen commented May 26, 2025

Continuing CI issues, without access to logs we're limited in how far we can proceed with fixes.

@ericstj
Copy link
Member

ericstj commented Jun 12, 2025

/azp run MachineLearning-CI

@ericstj ericstj self-assigned this Jun 12, 2025
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ericstj ericstj self-requested a review June 12, 2025 20:12
@ericstj
Copy link
Member

ericstj commented Jun 12, 2025

Sorry for the delay here, I'll have a look and see what failures you're hitting and figure out how we can get this working. Thank you for your contribution - this update is something we've wanted to get in.

@ericstj
Copy link
Member

ericstj commented Jun 17, 2025

CI failures are all due to packages not mirrored to our build feeds. https://dev.azure.com/dnceng-public/public/_build/results?buildId=1066692&view=logs&j=80b813b5-9a08-5859-11a8-dc0e5b556e52&t=99848337-6ccc-53eb-9c14-1b676ae001b9

/__w/1/s/src/Microsoft.ML.Console/Microsoft.ML.Console.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/src/Microsoft.ML.CodeGenerator/Microsoft.ML.CodeGenerator.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/src/Microsoft.ML.AutoML.Interactive/Microsoft.ML.AutoML.Interactive.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj : error NU1603: Warning As Error: Microsoft.ML.Samples.GPU depends on SciSharp.TensorFlow.Redist-Linux-GPU (>= 2.7.0) but SciSharp.TensorFlow.Redist-Linux-GPU 2.7.0 was not found. SciSharp.TensorFlow.Redist-Linux-GPU 2.11.1 was resolved instead. [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj : error NU1101: Unable to find package SciSharp.TensorFlow.Redist-Linux-GPU-primary. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj : error NU1101: Unable to find package SciSharp.TensorFlow.Redist-Linux-GPU-fragment1. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj : error NU1101: Unable to find package SciSharp.TensorFlow.Redist-Linux-GPU-fragment2. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj : error NU1101: Unable to find package SciSharp.TensorFlow.Redist-Linux-GPU-fragment3. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.Samples.GPU/Microsoft.ML.Samples.GPU.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.Fairlearn.Tests/Microsoft.ML.Fairlearn.Tests.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj : error NU1603: Warning As Error: Microsoft.ML.Samples depends on SciSharp.TensorFlow.Redist (>= 2.7.0) but SciSharp.TensorFlow.Redist 2.7.0 was not found. SciSharp.TensorFlow.Redist 2.16.0 was resolved instead. [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.Samples/Microsoft.ML.Samples.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj : error NU1603: Warning As Error: Microsoft.ML.PerformanceTests depends on SciSharp.TensorFlow.Redist (>= 2.7.0) but SciSharp.TensorFlow.Redist 2.7.0 was not found. SciSharp.TensorFlow.Redist 2.16.0 was resolved instead. [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj : error NU1603: Warning As Error: Microsoft.ML.AutoML.Samples depends on SciSharp.TensorFlow.Redist (>= 2.7.0) but SciSharp.TensorFlow.Redist 2.7.0 was not found. SciSharp.TensorFlow.Redist 2.16.0 was resolved instead. [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/docs/samples/Microsoft.ML.AutoML.Samples/Microsoft.ML.AutoML.Samples.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.PerformanceTests/Microsoft.ML.PerformanceTests.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.TensorFlow.Tests/Microsoft.ML.TensorFlow.Tests.csproj : error NU1603: Warning As Error: Microsoft.ML.TensorFlow.Tests depends on SciSharp.TensorFlow.Redist (>= 2.7.0) but SciSharp.TensorFlow.Redist 2.7.0 was not found. SciSharp.TensorFlow.Redist 2.16.0 was resolved instead. [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.TensorFlow.Tests/Microsoft.ML.TensorFlow.Tests.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj : error NU1603: Warning As Error: Microsoft.ML.Core.Tests depends on SciSharp.TensorFlow.Redist (>= 2.7.0) but SciSharp.TensorFlow.Redist 2.7.0 was not found. SciSharp.TensorFlow.Redist 2.16.0 was resolved instead. [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.Core.Tests/Microsoft.ML.Core.Tests.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.CodeGenerator.Tests/Microsoft.ML.CodeGenerator.Tests.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj : error NU1603: Warning As Error: Microsoft.ML.PerformanceTests depends on SciSharp.TensorFlow.Redist (>= 2.7.0) but SciSharp.TensorFlow.Redist 2.7.0 was not found. SciSharp.TensorFlow.Redist 2.16.0 was resolved instead. [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.Benchmarks.Tests/Microsoft.ML.Benchmarks.Tests.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj : error NU1603: Warning As Error: Microsoft.ML.AutoML.Tests depends on SciSharp.TensorFlow.Redist (>= 2.7.0) but SciSharp.TensorFlow.Redist 2.7.0 was not found. SciSharp.TensorFlow.Redist 2.16.0 was resolved instead. [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/test/Microsoft.ML.AutoML.Tests/Microsoft.ML.AutoML.Tests.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/src/Microsoft.ML.Vision/Microsoft.ML.Vision.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/src/Microsoft.ML.TensorFlow/Microsoft.ML.TensorFlow.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/src/Microsoft.ML.DnnAnalyzer/Microsoft.ML.DnnAnalyzer/Microsoft.ML.DnnAnalyzer.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]
/__w/1/s/src/Microsoft.ML.Fairlearn/Microsoft.ML.Fairlearn.csproj : error NU1101: Unable to find package MethodBoundaryAspect.Fody. No packages exist with this id in source(s): darc-pub-dotnet-maintenance-packages-ab95a1f1, dotnet-eng, dotnet-libraries, dotnet-libraries-transport, dotnet-public, dotnet-tools, dotnet5-roslyn, dotnet8, dotnet9, mlnet-assets, mlnet-daily, vs-buildservices [/__w/1/s/Microsoft.ML.sln]

Let me help get those mirrored.

Copy link
Member

@ericstj ericstj left a comment

Choose a reason for hiding this comment

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

Hopefully we get better build results now. We'll need to decide on final version.

@@ -90,6 +90,7 @@
<BenchmarkDotNetVersion>0.13.12</BenchmarkDotNetVersion>
<DotNetRuntime60Version>6.0.36</DotNetRuntime60Version>
<DotNetRuntime80Version>8.0.16</DotNetRuntime80Version>
<DotNetRuntime90Version>9.0.5</DotNetRuntime90Version>
Copy link
Member

Choose a reason for hiding this comment

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

This should not be required. I don't see anything using net9.0 in this PR. We would only need to do this if we had tools that needed to run on .NET 9.0, or wanted to test against .NET 9.0 on the build machine.

@@ -67,9 +67,9 @@
<ParquetDotNetVersion>2.1.3</ParquetDotNetVersion>
<PlotlyNETCSharpVersion>0.11.1</PlotlyNETCSharpVersion>
<SharpZipLibVersion>1.4.2</SharpZipLibVersion>
<TensorflowDotNETVersion>0.20.1</TensorflowDotNETVersion>
<TensorflowDotNETVersion>0.70.2</TensorflowDotNETVersion>
Copy link
Member

Choose a reason for hiding this comment

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

Why this version and not latest (0.150.01)? Was there an issue with the latest package?

<TensorFlowMajorVersion>2</TensorFlowMajorVersion>
<TensorFlowVersion>2.3.1</TensorFlowVersion>
<TensorFlowVersion>2.7.0</TensorFlowVersion>
Copy link
Member

Choose a reason for hiding this comment

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

Similar question could we use newer TensorFlow packages?

Copy link

codecov bot commented Jun 17, 2025

Codecov Report

Attention: Patch coverage is 76.35135% with 35 lines in your changes missing coverage. Please review.

Project coverage is 69.00%. Comparing base (aea5651) to head (85f7ad4).
Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
src/Microsoft.ML.TensorFlow/TensorflowUtils.cs 58.82% 14 Missing ⚠️
src/Microsoft.ML.Vision/DnnRetrainTransform.cs 61.53% 8 Missing and 2 partials ⚠️
src/Microsoft.ML.Core/Utilities/ArrayUtils.cs 64.28% 3 Missing and 2 partials ⚠️
src/Microsoft.ML.TensorFlow/TensorflowTransform.cs 85.71% 3 Missing ⚠️
...rc/Microsoft.ML.TensorFlow/TensorTypeExtensions.cs 0.00% 0 Missing and 2 partials ⚠️
.../Microsoft.ML.Vision/ImageClassificationTrainer.cs 97.56% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7472      +/-   ##
==========================================
+ Coverage   68.99%   69.00%   +0.01%     
==========================================
  Files        1482     1482              
  Lines      273880   273921      +41     
  Branches    28254    28258       +4     
==========================================
+ Hits       188956   189020      +64     
+ Misses      77540    77517      -23     
  Partials     7384     7384              
Flag Coverage Δ
Debug 69.00% <76.35%> (+0.01%) ⬆️
production 63.30% <76.02%> (+0.01%) ⬆️
test 89.45% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/Microsoft.ML.DataView/VectorType.cs 90.32% <100.00%> (+0.91%) ⬆️
...t/Microsoft.ML.TensorFlow.Tests/TensorflowTests.cs 91.64% <100.00%> (ø)
.../Microsoft.ML.Vision/ImageClassificationTrainer.cs 92.17% <97.56%> (+0.03%) ⬆️
...rc/Microsoft.ML.TensorFlow/TensorTypeExtensions.cs 65.38% <0.00%> (+30.76%) ⬆️
src/Microsoft.ML.TensorFlow/TensorflowTransform.cs 85.57% <85.71%> (ø)
src/Microsoft.ML.Core/Utilities/ArrayUtils.cs 82.53% <64.28%> (-5.22%) ⬇️
src/Microsoft.ML.Vision/DnnRetrainTransform.cs 61.01% <61.53%> (ø)
src/Microsoft.ML.TensorFlow/TensorflowUtils.cs 73.07% <58.82%> (+0.14%) ⬆️

... and 9 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants