diff --git a/.vscode/launch.json b/.vscode/launch.json
index 2c3e1aef..e95c0c57 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -3,10 +3,16 @@
"configurations": [
{
- "name": "Build All (Win)",
+ "name": "Build All",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-all-win",
+ "linux": {
+ "preLaunchTask": "build-all-linux",
+ },
+ "osx": {
+ "preLaunchTask": "build-all-linux",
+ },
"program": "dotnet",
"args": [
"--version"
@@ -19,52 +25,20 @@
},
{
- "name": "Build All (Linux/macOS)",
- "type": "coreclr",
- "request": "launch",
- "preLaunchTask": "build-all-linux",
- "program": "dotnet",
- "args": [
- "--version"
- ],
- "cwd": "${workspaceFolder}/src/API/Server/FrontEnd/",
- "stopAtEntry": false,
- "env": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
-
- {
- "name": "Launch CodeProject.AI (Win)",
+ "name": "Launch Server",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-all-win",
- "program": "${workspaceFolder}/src/API/Server/FrontEnd/bin/Debug/net6.0/CodeProject.AI.Server.exe",
- "args": [],
- "cwd": "${workspaceFolder}/src/API/Server/FrontEnd/",
- "stopAtEntry": false,
- "serverReadyAction": {
- "action": "openExternally",
- "pattern": "\\bNow listening on:\\s+(https?://\\S+)",
- "uriFormat": "http://localhost:%s/swagger"
+ "linux": {
+ "preLaunchTask": "build-all-linux",
+ },
+ "osx": {
+ "preLaunchTask": "build-all-linux",
},
-
- "env": {
- "ASPNETCORE_ENVIRONMENT": "Development",
- "RUNNING_IN_VSCODE": "true"
- }
- },
-
- {
- "name": "Launch CodeProject.AI (Linux/macOS)",
- "type": "coreclr",
- "request": "launch",
- "preLaunchTask": "build-all-linux",
"program": "${workspaceFolder}/src/API/Server/FrontEnd/bin/Debug/net6.0/CodeProject.AI.Server",
"args": [],
- "cwd": "${workspaceFolder}",
+ "cwd": "${workspaceFolder}/src/API/Server/FrontEnd/",
"stopAtEntry": false,
-
"serverReadyAction": {
"action": "openExternally",
"pattern": "\\bNow listening on:\\s+(https?://\\S+)",
@@ -74,14 +48,15 @@
"env": {
"ASPNETCORE_ENVIRONMENT": "Development",
"RUNNING_IN_VSCODE": "true"
- },
-
+ }
+ /*
"logging": {
"engineLogging": false,
"moduleLoad": false,
"exceptions": false,
"browserStdOut": false
- },
+ }
+ */
},
{
@@ -116,7 +91,7 @@
},
{
- "name": "Launch CodeProject.AI Explorer (Win)",
+ "name": "[Win] Explorer App",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "launch-server-win",
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index e5a0b316..b84be114 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -39,7 +39,7 @@
"command": "dotnet",
"args": [
"build",
- "${workspaceFolder}/src/AnalysisLayer/CodeProject.AI.AnalysisLayer.Yolo",
+ "${workspaceFolder}/src/AnalysisLayer/ObjectDetectionNet",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
@@ -47,7 +47,7 @@
},
{
- "label": "build-portraitfilter", // Builds ONLY the Yolo .NET analysis module
+ "label": "build-portraitfilter", // Builds ONLY the .NET portrait filter module
"type": "process",
"group": "build",
"command": "dotnet",
@@ -61,7 +61,7 @@
},
{
- "label": "build-sentimentanalysis", // Builds ONLY the Yolo .NET analysis module
+ "label": "build-sentimentanalysis", // Builds ONLY the the .NET sentiment analysis module
"type": "process",
"group": "build",
"command": "dotnet",
@@ -75,7 +75,7 @@
},
{
- "label": "build-explorer", // Builds ONLY the Yolo .NET analysis module
+ "label": "build-explorer", // Builds ONLY the Yolo .NET demo explorer
"type": "process",
"group": "build",
"command": "dotnet",
@@ -99,7 +99,7 @@
},
{
- "label": "build-all-win", // Builds all projects that can be built for Linux (ie not any Windows Forms apps)
+ "label": "build-all-win", // Builds all projects that can be built for Windows (ie everything)
"group": "build",
"dependsOrder": "sequence",
"dependsOn": [
diff --git a/CodeProject.AI.sln b/CodeProject.AI.sln
index 84cab5aa..f3484814 100644
--- a/CodeProject.AI.sln
+++ b/CodeProject.AI.sln
@@ -74,7 +74,17 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
THIRD-PARTY-NOTICES.md = THIRD-PARTY-NOTICES.md
EndProjectSection
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_PRIVATE REPO", "_PRIVATE REPO", "{78509730-6FBA-44E5-98C0-083DB7F52027}"
+ ProjectSection(SolutionItems) = preProject
+ README.txt = README.txt
+ rebrand.txt = rebrand.txt
+ EndProjectSection
+EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SDK", "SDK", "{FF0C329F-41E8-4540-BCDB-97690911077D}"
+ ProjectSection(SolutionItems) = preProject
+ src\AnalysisLayer\SDK\install.bat = src\AnalysisLayer\SDK\install.bat
+ src\AnalysisLayer\SDK\install.sh = src\AnalysisLayer\SDK\install.sh
+ EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ModelRunners", "ModelRunners", "{55C41D48-17AC-4ED5-9440-B42AF65CCE4E}"
EndProject
@@ -255,7 +265,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ObjectDetectionNet", "src\A
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CudaVersionCustomAction", "Installers\Windows\CudaVersionCustomAction\CudaVersionCustomAction.csproj", "{214949E0-B56C-4F23-809A-07DA4DBDF925}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CodeProject.SenseAI.API.Server.Backend.Tests", "tests\QueueServiceTests\CodeProject.SenseAI.API.Server.Backend.Tests.csproj", "{BF307B78-E985-4787-A1FC-41D860650F39}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CodeProject.SenseAI.API.Server.Backend.Tests", "tests\QueueServiceTests\CodeProject.SenseAI.API.Server.Backend.Tests.csproj", "{F94FBD1C-02FB-4169-8C26-2D52234D4311}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -470,14 +480,14 @@ Global
{214949E0-B56C-4F23-809A-07DA4DBDF925}.Release|Any CPU.Build.0 = Release|x86
{214949E0-B56C-4F23-809A-07DA4DBDF925}.Release|x86.ActiveCfg = Release|x86
{214949E0-B56C-4F23-809A-07DA4DBDF925}.Release|x86.Build.0 = Release|x86
- {BF307B78-E985-4787-A1FC-41D860650F39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BF307B78-E985-4787-A1FC-41D860650F39}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BF307B78-E985-4787-A1FC-41D860650F39}.Debug|x86.ActiveCfg = Debug|Any CPU
- {BF307B78-E985-4787-A1FC-41D860650F39}.Debug|x86.Build.0 = Debug|Any CPU
- {BF307B78-E985-4787-A1FC-41D860650F39}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BF307B78-E985-4787-A1FC-41D860650F39}.Release|Any CPU.Build.0 = Release|Any CPU
- {BF307B78-E985-4787-A1FC-41D860650F39}.Release|x86.ActiveCfg = Release|Any CPU
- {BF307B78-E985-4787-A1FC-41D860650F39}.Release|x86.Build.0 = Release|Any CPU
+ {F94FBD1C-02FB-4169-8C26-2D52234D4311}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F94FBD1C-02FB-4169-8C26-2D52234D4311}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F94FBD1C-02FB-4169-8C26-2D52234D4311}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F94FBD1C-02FB-4169-8C26-2D52234D4311}.Debug|x86.Build.0 = Debug|Any CPU
+ {F94FBD1C-02FB-4169-8C26-2D52234D4311}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F94FBD1C-02FB-4169-8C26-2D52234D4311}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F94FBD1C-02FB-4169-8C26-2D52234D4311}.Release|x86.ActiveCfg = Release|Any CPU
+ {F94FBD1C-02FB-4169-8C26-2D52234D4311}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -536,7 +546,7 @@ Global
{4ED567B5-C28D-48BB-AEDC-864E2B2C7204} = {B10B59B5-9F63-41C2-BFBB-6C7311DC4E99}
{25D75AFE-BEC9-43BF-BE44-B9068FF8E395} = {156BFEDA-D477-43B2-92DA-FCC9BAF1F893}
{214949E0-B56C-4F23-809A-07DA4DBDF925} = {83C828B9-2B1E-4982-B4B7-69D173DFBB27}
- {BF307B78-E985-4787-A1FC-41D860650F39} = {D982BD8C-2257-413B-8513-8043AB3035F3}
+ {F94FBD1C-02FB-4169-8C26-2D52234D4311} = {D982BD8C-2257-413B-8513-8043AB3035F3}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {83740BD9-AEEF-49C7-A722-D7703D3A38CB}
diff --git a/demos/dotNet/CodeProject.AI.Explorer/CodeProject.AI.ApiClient.cs b/demos/dotNet/CodeProject.AI.Explorer/CodeProject.AI.ApiClient.cs
index 039bfaa4..1be9aca3 100644
--- a/demos/dotNet/CodeProject.AI.Explorer/CodeProject.AI.ApiClient.cs
+++ b/demos/dotNet/CodeProject.AI.Explorer/CodeProject.AI.ApiClient.cs
@@ -26,7 +26,7 @@ public class ApiClient
///
/// Gets or sets the timeout in seconds for making calls to the API
///
- public int Timeout { get; set; } = 120;
+ public int Timeout { get; set; } = 300;
///
/// Gets the HttpClient
@@ -49,7 +49,7 @@ private HttpClient Client
_client = new HttpClient
{
BaseAddress = new Uri($"http://localhost:{Port}/v1/"),
- Timeout = new TimeSpan(0, 0, Timeout)
+ Timeout = TimeSpan.FromSeconds(Timeout)
};
}
diff --git a/demos/dotNet/CodeProject.AI.Explorer/Form1.cs b/demos/dotNet/CodeProject.AI.Explorer/Form1.cs
index 34408c8a..d4e00c5c 100644
--- a/demos/dotNet/CodeProject.AI.Explorer/Form1.cs
+++ b/demos/dotNet/CodeProject.AI.Explorer/Form1.cs
@@ -504,7 +504,7 @@ private async void RunBenchmark(bool useCustom)
ShowError("Image must be selected.");
return;
}
- var nIterations = 512;
+ var nIterations = 100;
var taskList = new List>();
Stopwatch sw = Stopwatch.StartNew();
for (int i = 0; i < nIterations; i++){
diff --git a/src/API/Server/Backend/QueueServices.cs b/src/API/Server/Backend/QueueServices.cs
index 5c283f63..e9f4ff1a 100644
--- a/src/API/Server/Backend/QueueServices.cs
+++ b/src/API/Server/Backend/QueueServices.cs
@@ -36,7 +36,7 @@ public QueueServices(IOptions options,
ILogger logger)
{
_settings = options.Value;
- _logger = logger;
+ _logger = logger;
}
public bool EnsureQueueExists(string queueName)
diff --git a/src/API/Server/FrontEnd/Dockerfile b/src/API/Server/FrontEnd/Dockerfile
index 2ade6fad..6f8ebaaa 100644
--- a/src/API/Server/FrontEnd/Dockerfile
+++ b/src/API/Server/FrontEnd/Dockerfile
@@ -21,30 +21,30 @@ RUN dotnet restore "src/API/Server/FrontEnd/Frontend.csproj"
COPY . .
WORKDIR "/src/src/API/Server/FrontEnd"
-RUN dotnet build "Frontend.csproj" -c Release --no-self-contained -o /app/build/server
+RUN dotnet build "Frontend.csproj" -c Release -r linux-x64 --self-contained -o /app/build/server
WORKDIR "/src/src/AnalysisLayer/ObjectDetectionNet"
-RUN dotnet build "ObjectDetectionNet.csproj" -c Release --no-self-contained -o /app/build/AnalysisLayer/ObjectDetectionNet
+RUN dotnet build "ObjectDetectionNet.csproj" -c Release -r linux-x64 --self-contained -o /app/build/AnalysisLayer/ObjectDetectionNet
WORKDIR "/src/src/AnalysisLayer/PortraitFilter"
-RUN dotnet build "PortraitFilter.csproj" -c Release --no-self-contained -o /app/build/AnalysisLayer/PortraitFilter
+RUN dotnet build "PortraitFilter.csproj" -c Release -r linux-x64 --self-contained -o /app/build/AnalysisLayer/PortraitFilter
#WORKDIR "/src/src/AnalysisLayer/SentimentAnalysis"
-#RUN dotnet build "SentimentAnalysis.csproj" -c Release --no-self-contained -o /app/build/AnalysisLayer/SentimentAnalysis
+#RUN dotnet build "SentimentAnalysis.csproj" -c Release -r linux-x64 --self-contained -o /app/build/AnalysisLayer/SentimentAnalysis
FROM build AS publish
WORKDIR "/src/src/API/Server/FrontEnd"
-RUN dotnet publish "Frontend.csproj" -c Release --no-self-contained -o /app/publish/server
+RUN dotnet publish "Frontend.csproj" -c Release -r linux-x64 --self-contained -o /app/publish/server
WORKDIR "/src/src/AnalysisLayer/ObjectDetectionNet"
-RUN dotnet publish "ObjectDetectionNet.csproj" -c Release --no-self-contained -o /app/publish/AnalysisLayer/ObjectDetectionNet
+RUN dotnet publish "ObjectDetectionNet.csproj" -c Release -r linux-x64 --self-contained -o /app/publish/AnalysisLayer/ObjectDetectionNet
WORKDIR "/src/src/AnalysisLayer/PortraitFilter"
-RUN dotnet publish "PortraitFilter.csproj" -c Release --no-self-contained -o /app/publish/AnalysisLayer/PortraitFilter
+RUN dotnet publish "PortraitFilter.csproj" -c Release -r linux-x64 --self-contained -o /app/publish/AnalysisLayer/PortraitFilter
#WORKDIR "/src/src/AnalysisLayer/SentimentAnalysis"
-#RUN dotnet publish "SentimentAnalysis.csproj" -c Release --no-self-contained -o /app/publish/AnalysisLayer/SentimentAnalysis
+#RUN dotnet publish "SentimentAnalysis.csproj" -c Release -r linux-x64 --self-contained -o /app/publish/AnalysisLayer/SentimentAnalysis
# zipping up the test images and moving to the server wwwroot directory so it can be downloaded from server.
RUN apt-get update -y && apt-get upgrade -y
@@ -81,14 +81,20 @@ WORKDIR /app
COPY --from=publish /app/publish .
RUN add-apt-repository ppa:deadsnakes/ppa -y
RUN apt update -y
+
+#needed for opencv-python
+RUN apt-get install ffmpeg libsm6 libxext6 -y
+
RUN apt-get install python3.9 -y
RUN python3.8 -m pip install --upgrade pip
RUN python3.9 -m pip install --upgrade pip
# CM: Added --no-cache-dir here to reduce the size of the image
-RUN python3.8 -m pip --no-cache-dir install -r /app/AnalysisLayer/Vision/intelligencelayer/requirements.txt
+RUN python3.8 -m pip --no-cache-dir install -r /app/AnalysisLayer/Vision/requirements.txt
+RUN python3.8 -m pip --no-cache-dir install -r /app/AnalysisLayer/SDK/Python/requirements.txt
#RUN python3.8 -m pip --no-cache-dir install -r /app/AnalysisLayer/TextSummary/requirements.txt
RUN python3.9 -m pip --no-cache-dir install -r /app/AnalysisLayer/BackgroundRemover/requirements.txt
+RUN python3.9 -m pip --no-cache-dir install -r /app/AnalysisLayer/SDK/Python/requirements.txt
WORKDIR /app/server
ENTRYPOINT ["dotnet", "CodeProject.AI.Server.dll"]
\ No newline at end of file
diff --git a/src/API/Server/FrontEnd/Program.cs b/src/API/Server/FrontEnd/Program.cs
index fd3adde0..e3c12da1 100644
--- a/src/API/Server/FrontEnd/Program.cs
+++ b/src/API/Server/FrontEnd/Program.cs
@@ -85,7 +85,11 @@ public static async Task Main(string[] args)
};
bool inVScode = (Environment.GetEnvironmentVariable("RUNNING_IN_VSCODE") ?? "") == "true";
+ bool reloadConfigOnChange = !inDocker;
+ // TODO: 1. Reorder the config loading so that command line is last
+ // 2. Stop appsettings being reloaded on change when in docker for the default
+ // appsettings.json files
IHost? host = CreateHostBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
@@ -95,24 +99,24 @@ public static async Task Main(string[] args)
if (inVScode && platform != "windows")
{
config.AddJsonFile(Path.Combine(baseDir, "appsettings.json"),
- optional: false, reloadOnChange: true);
+ optional: false, reloadOnChange: reloadConfigOnChange);
if (!string.IsNullOrWhiteSpace(aspNetEnv))
{
config.AddJsonFile(Path.Combine(baseDir, $"appsettings.{aspNetEnv}.json"),
- optional: true, reloadOnChange: true);
+ optional: true, reloadOnChange: reloadConfigOnChange);
}
}
config.AddJsonFile(Path.Combine(baseDir, $"appsettings.{platform}.json"),
- optional: true, reloadOnChange: true);
+ optional: true, reloadOnChange: reloadConfigOnChange);
// Load appsettings.platform.env.json files to allow slightly more
// convenience for settings on other platforms
if (!string.IsNullOrWhiteSpace(aspNetEnv))
{
config.AddJsonFile(Path.Combine(baseDir, $"appsettings.{platform}.{aspNetEnv}.json"),
- optional: true, reloadOnChange: true);
+ optional: true, reloadOnChange: reloadConfigOnChange);
}
// This allows us to add ad-hoc settings such as ApplicationDataDir
@@ -120,11 +124,11 @@ public static async Task Main(string[] args)
// Load the installconfig.json file so we have access to the install ID
config.AddJsonFile(Path.Combine(applicationDataDir, InstallConfig.InstallCfgFilename),
- reloadOnChange: true, optional: true);
+ reloadOnChange: reloadConfigOnChange, optional: true);
// Load the version.json file so we have access to the Version info
config.AddJsonFile(Path.Combine(baseDir, VersionConfig.VersionCfgFilename),
- reloadOnChange: true, optional: true);
+ reloadOnChange: reloadConfigOnChange, optional: true);
// Load the modulesettings.json files to get analysis module settings
LoadModulesConfiguration(config, aspNetEnv);
@@ -198,6 +202,8 @@ public static async Task Main(string[] args)
// things. To be done at a later date.
private static void LoadModulesConfiguration(IConfigurationBuilder config, string? aspNetEnv)
{
+ bool reloadOnChange = (Environment.GetEnvironmentVariable("DOTNET_RUNNING_IN_CONTAINER") ?? "") != "true";
+
IConfiguration configuration = config.Build();
var options = configuration.GetSection("FrontEndOptions");
string? rootPath = options["ROOT_PATH"];
@@ -243,21 +249,21 @@ private static void LoadModulesConfiguration(IConfigurationBuilder config, strin
foreach (string? directory in directories)
{
config.AddJsonFile(Path.Combine(directory, "modulesettings.json"),
- optional: true, reloadOnChange: true);
+ optional: true, reloadOnChange: reloadOnChange);
if (!string.IsNullOrEmpty(aspNetEnv))
{
config.AddJsonFile(Path.Combine(directory, $"modulesettings.{aspNetEnv}.json"),
- optional: true, reloadOnChange: true);
+ optional: true, reloadOnChange: reloadOnChange);
}
config.AddJsonFile(Path.Combine(directory, $"modulesettings.{platform}.json"),
- optional: true, reloadOnChange: true);
+ optional: true, reloadOnChange: reloadOnChange);
if (!string.IsNullOrEmpty(aspNetEnv))
{
config.AddJsonFile(Path.Combine(directory, $"modulesettings.{platform}.{aspNetEnv}.json"),
- optional: true, reloadOnChange: true);
+ optional: true, reloadOnChange: reloadOnChange);
}
}
}
diff --git a/src/AnalysisLayer/BackgroundRemover/requirements.txt b/src/AnalysisLayer/BackgroundRemover/requirements.txt
index 1518ba47..5324d29c 100644
--- a/src/AnalysisLayer/BackgroundRemover/requirements.txt
+++ b/src/AnalysisLayer/BackgroundRemover/requirements.txt
@@ -3,13 +3,13 @@
## Using the latest
filetype # Installing FileType, a package to infer file types and MIME types
gdown # Installing gdown, a package for downloading from Google Drive folders
-numpy # Installing NumPy, a package for scientific computing
-pymatting # Installing pymatting, a Python Library for Alpha Matting
+## numpy # Installing NumPy, a package for scientific computing
+## pymatting # Installing pymatting, a Python Library for Alpha Matting
Pillow # Installing Pillow, a Python Image Library
## IF there is an error regarding numba needing a higher version of numpy then use this
-## numpy==1.22.4 # Installing NumPy, a package for scientific computing
-## pymatting==1.1.8 # Installing pymatting, a Python Library for Alpha Matting
+numpy==1.22.4 # Installing NumPy, a package for scientific computing
+pymatting==1.1.8 # Installing pymatting, a Python Library for Alpha Matting
## For CPU
onnxruntime # Installing the ONNX runtime
diff --git a/src/AnalysisLayer/ObjectDetectionNet/ObjectDetectionNet.csproj b/src/AnalysisLayer/ObjectDetectionNet/ObjectDetectionNet.csproj
index 0b4cb8cf..016dce17 100644
--- a/src/AnalysisLayer/ObjectDetectionNet/ObjectDetectionNet.csproj
+++ b/src/AnalysisLayer/ObjectDetectionNet/ObjectDetectionNet.csproj
@@ -97,13 +97,6 @@
-
-
- SettingsSingleFileGenerator
- runtimeconfig.template.Designer.cs
-
-
-
Always
diff --git a/src/AnalysisLayer/ObjectDetectionNet/runtimeconfig.template.json b/src/AnalysisLayer/ObjectDetectionNet/runtimeconfig.template.json
deleted file mode 100644
index a90398fb..00000000
--- a/src/AnalysisLayer/ObjectDetectionNet/runtimeconfig.template.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "configProperties": {
- "System.Drawing.EnableUnixSupport": true
- }
-}
\ No newline at end of file
diff --git a/src/AnalysisLayer/SDK/ModelRunners/Yolov5Net.Scorer/Yolov5Net.Scorer.csproj b/src/AnalysisLayer/SDK/ModelRunners/Yolov5Net.Scorer/Yolov5Net.Scorer.csproj
index d43444b3..f887ff70 100644
--- a/src/AnalysisLayer/SDK/ModelRunners/Yolov5Net.Scorer/Yolov5Net.Scorer.csproj
+++ b/src/AnalysisLayer/SDK/ModelRunners/Yolov5Net.Scorer/Yolov5Net.Scorer.csproj
@@ -31,7 +31,7 @@
-
+
diff --git a/src/AnalysisLayer/SuperResolution/requirements.txt b/src/AnalysisLayer/SuperResolution/requirements.txt
index 22379d0d..71daa18a 100644
--- a/src/AnalysisLayer/SuperResolution/requirements.txt
+++ b/src/AnalysisLayer/SuperResolution/requirements.txt
@@ -2,7 +2,10 @@
ONNX # Installing ONNX, the Open Neural Network Exchange library
ONNXRuntime # Installing ONNX runtime, the scoring engine for ONNX models
-numpy # Installing NumPy, a package for scientific computing
+## numpy # Installing NumPy, a package for scientific computing
torch # Installing PyTorch, for Tensor computation and Deep neural networks
python-resize-image # Installing resizeimage, which provides functions for easily resizing images
Pillow # Installing Pillow, a Python Image Library
+
+numpy==1.22.4 # Installing NumPy, a package for scientific computing
+## pymatting==1.1.8 # Installing pymatting, a Python Library for Alpha Matting