Skip to content
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

Adding torch examples #15

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
130 changes: 130 additions & 0 deletions examples/Torch/LinearRegression/.bonsai/Bonsai.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Packages>
<Package id="Bonsai" version="2.8.5" />
<Package id="Bonsai.Core" version="2.8.5" />
<Package id="Bonsai.Design" version="2.8.5" />
<Package id="Bonsai.Editor" version="2.8.5" />
<Package id="Bonsai.Gui" version="0.1.0" />
<Package id="Bonsai.Gui.ZedGraph" version="0.1.0" />
<Package id="Bonsai.ML" version="0.3.1" />
<Package id="Bonsai.ML.Data" version="0.3.1" />
<Package id="Bonsai.ML.Python" version="0.3.1" />
<Package id="Bonsai.ML.Torch" version="0.3.1" />
<Package id="Bonsai.Numerics" version="0.9.0" />
<Package id="Bonsai.Scripting.Expressions" version="2.8.0" />
<Package id="Bonsai.Scripting.Expressions.Design" version="2.8.0" />
<Package id="Bonsai.Scripting.Python" version="0.2.1" />
<Package id="Google.Protobuf" version="3.21.9" />
<Package id="jacobslusser.ScintillaNET" version="3.6.3" />
<Package id="libtorch-cpu" version="2.5.1" />
<Package id="libtorch-cpu-linux-x64" version="2.5.1" />
<Package id="libtorch-cpu-osx-arm64" version="2.5.1" />
<Package id="libtorch-cpu-win-x64" version="2.5.1" />
<Package id="Markdig" version="0.18.1" />
<Package id="MathNet.Numerics" version="4.15.0" />
<Package id="Microsoft.CSharp" version="4.7.0" />
<Package id="Microsoft.Web.WebView2" version="1.0.1823.32" />
<Package id="Newtonsoft.Json" version="13.0.3" />
<Package id="OpenCV.Net" version="3.4.2" />
<Package id="pythonnet" version="3.0.3" />
<Package id="Rx-Core" version="2.2.5" />
<Package id="Rx-Interfaces" version="2.2.5" />
<Package id="Rx-Linq" version="2.2.5" />
<Package id="Rx-PlatformServices" version="2.2.5" />
<Package id="SharpZipLib" version="1.4.0" />
<Package id="SkiaSharp" version="2.88.6" />
<Package id="SkiaSharp.NativeAssets.Linux.NoDependencies" version="2.88.6" />
<Package id="SkiaSharp.NativeAssets.macOS" version="2.88.6" />
<Package id="SkiaSharp.NativeAssets.Win32" version="2.88.6" />
<Package id="SvgNet" version="3.3.3" />
<Package id="System.Buffers" version="4.5.1" />
<Package id="System.Linq.Dynamic" version="1.0.7" />
<Package id="System.Memory" version="4.5.5" />
<Package id="System.Numerics.Vectors" version="4.5.0" />
<Package id="System.Reflection.Emit" version="4.3.0" />
<Package id="System.Resources.Extensions" version="8.0.0" />
<Package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" />
<Package id="System.Threading.Tasks.Extensions" version="4.5.2" />
<Package id="TorchSharp" version="0.105.0" />
<Package id="TorchSharp-cpu" version="0.105.0" />
<Package id="TorchVision" version="0.105.0" />
<Package id="YamlDotNet" version="13.1.1" />
<Package id="ZedGraph" version="5.1.7" />
</Packages>
<AssemblyReferences>
<AssemblyReference assemblyName="Bonsai" />
<AssemblyReference assemblyName="Bonsai.Core" />
<AssemblyReference assemblyName="Bonsai.Design" />
<AssemblyReference assemblyName="Bonsai.Editor" />
<AssemblyReference assemblyName="Bonsai.Gui" />
<AssemblyReference assemblyName="Bonsai.Gui.ZedGraph" />
<AssemblyReference assemblyName="Bonsai.ML" />
<AssemblyReference assemblyName="Bonsai.ML.Data" />
<AssemblyReference assemblyName="Bonsai.ML.Python" />
<AssemblyReference assemblyName="Bonsai.ML.Torch" />
<AssemblyReference assemblyName="Bonsai.Numerics" />
<AssemblyReference assemblyName="Bonsai.Scripting.Expressions" />
<AssemblyReference assemblyName="Bonsai.Scripting.Expressions.Design" />
<AssemblyReference assemblyName="Bonsai.Scripting.Python" />
</AssemblyReferences>
<AssemblyLocations>
<AssemblyLocation assemblyName="Bonsai" processorArchitecture="MSIL" location="Packages/Bonsai.2.8.5/lib/net48/Bonsai.exe" />
<AssemblyLocation assemblyName="Bonsai.Core" processorArchitecture="MSIL" location="Packages/Bonsai.Core.2.8.5/lib/net462/Bonsai.Core.dll" />
<AssemblyLocation assemblyName="Bonsai.Design" processorArchitecture="MSIL" location="Packages/Bonsai.Design.2.8.5/lib/net462/Bonsai.Design.dll" />
<AssemblyLocation assemblyName="Bonsai.Editor" processorArchitecture="MSIL" location="Packages/Bonsai.Editor.2.8.5/lib/net472/Bonsai.Editor.dll" />
<AssemblyLocation assemblyName="Bonsai.Gui" processorArchitecture="MSIL" location="Packages/Bonsai.Gui.0.1.0/lib/net472/Bonsai.Gui.dll" />
<AssemblyLocation assemblyName="Bonsai.Gui.ZedGraph" processorArchitecture="MSIL" location="Packages/Bonsai.Gui.ZedGraph.0.1.0/lib/net472/Bonsai.Gui.ZedGraph.dll" />
<AssemblyLocation assemblyName="Bonsai.ML" processorArchitecture="MSIL" location="Packages/Bonsai.ML.0.3.1/lib/net472/Bonsai.ML.dll" />
<AssemblyLocation assemblyName="Bonsai.ML.Data" processorArchitecture="MSIL" location="Packages/Bonsai.ML.Data.0.3.1/lib/net472/Bonsai.ML.Data.dll" />
<AssemblyLocation assemblyName="Bonsai.ML.Python" processorArchitecture="MSIL" location="Packages/Bonsai.ML.Python.0.3.1/lib/net472/Bonsai.ML.Python.dll" />
<AssemblyLocation assemblyName="Bonsai.ML.Torch" processorArchitecture="MSIL" location="Packages/Bonsai.ML.Torch.0.3.1/lib/net472/Bonsai.ML.Torch.dll" />
<AssemblyLocation assemblyName="Bonsai.Numerics" processorArchitecture="MSIL" location="Packages/Bonsai.Numerics.0.9.0/lib/net462/Bonsai.Numerics.dll" />
<AssemblyLocation assemblyName="Bonsai.Scripting.Expressions" processorArchitecture="MSIL" location="Packages/Bonsai.Scripting.Expressions.2.8.0/lib/net462/Bonsai.Scripting.Expressions.dll" />
<AssemblyLocation assemblyName="Bonsai.Scripting.Expressions.Design" processorArchitecture="MSIL" location="Packages/Bonsai.Scripting.Expressions.Design.2.8.0/lib/net462/Bonsai.Scripting.Expressions.Design.dll" />
<AssemblyLocation assemblyName="Bonsai.Scripting.Python" processorArchitecture="MSIL" location="Packages/Bonsai.Scripting.Python.0.2.1/lib/net472/Bonsai.Scripting.Python.dll" />
<AssemblyLocation assemblyName="Google.Protobuf" processorArchitecture="MSIL" location="Packages/Google.Protobuf.3.21.9/lib/net45/Google.Protobuf.dll" />
<AssemblyLocation assemblyName="ICSharpCode.SharpZipLib" processorArchitecture="MSIL" location="Packages/SharpZipLib.1.4.0/lib/netstandard2.0/ICSharpCode.SharpZipLib.dll" />
<AssemblyLocation assemblyName="Markdig" processorArchitecture="MSIL" location="Packages/Markdig.0.18.1/lib/net40/Markdig.dll" />
<AssemblyLocation assemblyName="MathNet.Numerics" processorArchitecture="MSIL" location="Packages/MathNet.Numerics.4.15.0/lib/net461/MathNet.Numerics.dll" />
<AssemblyLocation assemblyName="Microsoft.Web.WebView2.Core" processorArchitecture="MSIL" location="Packages/Microsoft.Web.WebView2.1.0.1823.32/lib/net45/Microsoft.Web.WebView2.Core.dll" />
<AssemblyLocation assemblyName="Microsoft.Web.WebView2.WinForms" processorArchitecture="MSIL" location="Packages/Microsoft.Web.WebView2.1.0.1823.32/lib/net45/Microsoft.Web.WebView2.WinForms.dll" />
<AssemblyLocation assemblyName="Microsoft.Web.WebView2.Wpf" processorArchitecture="MSIL" location="Packages/Microsoft.Web.WebView2.1.0.1823.32/lib/net45/Microsoft.Web.WebView2.Wpf.dll" />
<AssemblyLocation assemblyName="Newtonsoft.Json" processorArchitecture="MSIL" location="Packages/Newtonsoft.Json.13.0.3/lib/net45/Newtonsoft.Json.dll" />
<AssemblyLocation assemblyName="OpenCV.Net" processorArchitecture="MSIL" location="Packages/OpenCV.Net.3.4.2/lib/net462/OpenCV.Net.dll" />
<AssemblyLocation assemblyName="Python.Runtime" processorArchitecture="MSIL" location="Packages/pythonnet.3.0.3/lib/netstandard2.0/Python.Runtime.dll" />
<AssemblyLocation assemblyName="ScintillaNET" processorArchitecture="MSIL" location="Packages/jacobslusser.ScintillaNET.3.6.3/lib/net40/ScintillaNET.dll" />
<AssemblyLocation assemblyName="SkiaSharp" processorArchitecture="MSIL" location="Packages/SkiaSharp.2.88.6/lib/net462/SkiaSharp.dll" />
<AssemblyLocation assemblyName="SVG" processorArchitecture="MSIL" location="Packages/SvgNet.3.3.3/lib/net462/SVG.dll" />
<AssemblyLocation assemblyName="System.Buffers" processorArchitecture="MSIL" location="Packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll" />
<AssemblyLocation assemblyName="System.Linq.Dynamic" processorArchitecture="MSIL" location="Packages/System.Linq.Dynamic.1.0.7/lib/net40/System.Linq.Dynamic.dll" />
<AssemblyLocation assemblyName="System.Memory" processorArchitecture="MSIL" location="Packages/System.Memory.4.5.5/lib/net461/System.Memory.dll" />
<AssemblyLocation assemblyName="System.Numerics.Vectors" processorArchitecture="MSIL" location="Packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.dll" />
<AssemblyLocation assemblyName="System.Reactive.Core" processorArchitecture="MSIL" location="Packages/Rx-Core.2.2.5/lib/net45/System.Reactive.Core.dll" />
<AssemblyLocation assemblyName="System.Reactive.Interfaces" processorArchitecture="MSIL" location="Packages/Rx-Interfaces.2.2.5/lib/net45/System.Reactive.Interfaces.dll" />
<AssemblyLocation assemblyName="System.Reactive.Linq" processorArchitecture="MSIL" location="Packages/Rx-Linq.2.2.5/lib/net45/System.Reactive.Linq.dll" />
<AssemblyLocation assemblyName="System.Reactive.PlatformServices" processorArchitecture="MSIL" location="Packages/Rx-PlatformServices.2.2.5/lib/net45/System.Reactive.PlatformServices.dll" />
<AssemblyLocation assemblyName="System.Resources.Extensions" processorArchitecture="MSIL" location="Packages/System.Resources.Extensions.8.0.0/lib/net462/System.Resources.Extensions.dll" />
<AssemblyLocation assemblyName="System.Runtime.CompilerServices.Unsafe" processorArchitecture="MSIL" location="Packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/net461/System.Runtime.CompilerServices.Unsafe.dll" />
<AssemblyLocation assemblyName="System.Threading.Tasks.Extensions" processorArchitecture="MSIL" location="Packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll" />
<AssemblyLocation assemblyName="TorchSharp" processorArchitecture="MSIL" location="Packages/TorchSharp.0.105.0/lib/netstandard2.0/TorchSharp.dll" />
<AssemblyLocation assemblyName="TorchVision" processorArchitecture="MSIL" location="Packages/TorchVision.0.105.0/lib/netstandard2.0/TorchVision.dll" />
<AssemblyLocation assemblyName="YamlDotNet" processorArchitecture="MSIL" location="Packages/YamlDotNet.13.1.1/lib/net47/YamlDotNet.dll" />
<AssemblyLocation assemblyName="ZedGraph" processorArchitecture="MSIL" location="Packages/ZedGraph.5.1.7/lib/net35-Client/ZedGraph.dll" />
</AssemblyLocations>
<LibraryFolders>
<LibraryFolder path="Packages/libtorch-cpu-win-x64.2.5.1/runtimes/win-x64/native" platform="x64" />
<LibraryFolder path="Packages/Microsoft.Web.WebView2.1.0.1823.32/runtimes/win-arm64/native" platform="arm64" />
<LibraryFolder path="Packages/Microsoft.Web.WebView2.1.0.1823.32/runtimes/win-arm64/native_uap" platform="arm64" />
<LibraryFolder path="Packages/Microsoft.Web.WebView2.1.0.1823.32/runtimes/win-x64/native" platform="x64" />
<LibraryFolder path="Packages/Microsoft.Web.WebView2.1.0.1823.32/runtimes/win-x64/native_uap" platform="x64" />
<LibraryFolder path="Packages/Microsoft.Web.WebView2.1.0.1823.32/runtimes/win-x86/native" platform="x86" />
<LibraryFolder path="Packages/Microsoft.Web.WebView2.1.0.1823.32/runtimes/win-x86/native_uap" platform="x86" />
<LibraryFolder path="Packages/OpenCV.Net.3.4.2/runtimes/win-x64/native/vc14/bin" platform="x64" />
<LibraryFolder path="Packages/OpenCV.Net.3.4.2/runtimes/win-x86/native/vc14/bin" platform="x86" />
<LibraryFolder path="Packages/SkiaSharp.NativeAssets.Win32.2.88.6/runtimes/win-arm64/native" platform="arm64" />
<LibraryFolder path="Packages/SkiaSharp.NativeAssets.Win32.2.88.6/runtimes/win-x64/native" platform="x64" />
<LibraryFolder path="Packages/SkiaSharp.NativeAssets.Win32.2.88.6/runtimes/win-x86/native" platform="x86" />
<LibraryFolder path="Packages/TorchSharp.0.105.0/runtimes/win-x64/native" platform="x64" />
</LibraryFolders>
</PackageConfiguration>
8 changes: 8 additions & 0 deletions examples/Torch/LinearRegression/.bonsai/NuGet.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="Gallery" value="Gallery" />
<add key="Bonsai Packages" value="https://www.myget.org/F/bonsai/api/v3/index.json" />
<add key="Community Packages" value="https://www.myget.org/F/bonsai-community/api/v3/index.json" />
</packageSources>
</configuration>
21 changes: 21 additions & 0 deletions examples/Torch/LinearRegression/.bonsai/Setup.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Push-Location $PSScriptRoot
if (!(Test-Path "./Bonsai.exe")) {
$release = "https://github.com/bonsai-rx/bonsai/releases/latest/download/Bonsai.zip"
$configPath = "./Bonsai.config"
if (Test-Path $configPath) {
[xml]$config = Get-Content $configPath
$bootstrapper = $config.PackageConfiguration.Packages.Package.where{$_.id -eq 'Bonsai'}
if ($bootstrapper) {
$version = $bootstrapper.version
$release = "https://github.com/bonsai-rx/bonsai/releases/download/$version/Bonsai.zip"
}
}
Invoke-WebRequest $release -OutFile "temp.zip"
Move-Item -Path "NuGet.config" "temp.config" -ErrorAction SilentlyContinue
Expand-Archive "temp.zip" -DestinationPath "." -Force
Move-Item -Path "temp.config" "NuGet.config" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "temp.zip"
Remove-Item -Path "Bonsai32.exe"
}
& .\Bonsai.exe --no-editor
Pop-Location
41 changes: 41 additions & 0 deletions examples/Torch/LinearRegression/.bonsai/Setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#! /bin/bash

SETUP_SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"

DEFAULT_VERSION="latest"
VERSION="$DEFAULT_VERSION"

while [[ "$#" -gt 0 ]]; do
case $1 in
--version) VERSION="$2"; shift ;;
*) echo "Unknown parameter passed: $1"; exit 1 ;;
esac
shift
done

echo "Setting up Bonsai v=$VERSION environment..."

if [ ! -f "$SETUP_SCRIPT_DIR/Bonsai.exe" ]; then
CONFIG="$SETUP_SCRIPT_DIR/Bonsai.config"
if [ -f "$CONFIG" ]; then
DETECTED=$(xmllint --xpath '//PackageConfiguration/Packages/Package[@id="Bonsai"]/@version' "$CONFIG" | sed -e 's/^[^"]*"//' -e 's/"$//')
echo "Version detected v=$DETECTED."
RELEASE="https://github.com/bonsai-rx/bonsai/releases/download/$DETECTED/Bonsai.zip"
else
if [ $VERSION = "latest" ]; then
RELEASE="https://github.com/bonsai-rx/bonsai/releases/latest/download/Bonsai.zip"
else
RELEASE="https://github.com/bonsai-rx/bonsai/releases/download/$VERSION/Bonsai.zip"
fi
fi
echo "Download URL: $RELEASE"
wget $RELEASE -O "$SETUP_SCRIPT_DIR/temp.zip"
mv -f "$SETUP_SCRIPT_DIR/NuGet.config" "$SETUP_SCRIPT_DIR/temp.config"
unzip -d "$SETUP_SCRIPT_DIR" -o "$SETUP_SCRIPT_DIR/temp.zip"
mv -f "$SETUP_SCRIPT_DIR/temp.config" "$SETUP_SCRIPT_DIR/NuGet.config"
rm -rf "$SETUP_SCRIPT_DIR/temp.zip"
rm -rf "$SETUP_SCRIPT_DIR/Bonsai32.exe"
fi

source "$SETUP_SCRIPT_DIR/activate"
source "$SETUP_SCRIPT_DIR/run" --no-editor
15 changes: 15 additions & 0 deletions examples/Torch/LinearRegression/.bonsai/activate
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash
# activate.sh
if [[ -v BONSAI_EXE_PATH ]]; then
echo "Error! Cannot have multiple bonsai environments activated at the same time. Please deactivate the current environment before activating the new one."
return
fi
BONSAI_ENV_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"
export BONSAI_ENV_DIR
export BONSAI_EXE_PATH="$BONSAI_ENV_DIR/Bonsai.exe"
export ORIGINAL_PS1="$PS1"
export PS1="($(basename "$BONSAI_ENV_DIR")) $PS1"
alias bonsai='source "$BONSAI_ENV_DIR"/run'
alias bonsai-clean='GTK_DATA_PREFIX= source "$BONSAI_ENV_DIR"/run'
alias deactivate='source "$BONSAI_ENV_DIR"/deactivate'
echo "Activated bonsai environment in $BONSAI_ENV_DIR"
8 changes: 8 additions & 0 deletions examples/Torch/LinearRegression/.bonsai/deactivate
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
unset BONSAI_EXE_PATH
export PS1="$ORIGINAL_PS1"
unset ORIGINAL_PS1
unalias bonsai
unalias bonsai-clean
unalias deactivate
echo "Deactivated bonsai environment."
58 changes: 58 additions & 0 deletions examples/Torch/LinearRegression/.bonsai/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/bin/bash
# run.sh

SETUP_SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"
CONFIG="$SETUP_SCRIPT_DIR/Bonsai.config"

cleanup() {
update_paths_to_windows
}

update_paths_to_linux() {
ASSEMBLYLOCATIONS=$(xmllint --xpath '//PackageConfiguration/AssemblyLocations/AssemblyLocation/@location' "$CONFIG" | sed -e 's/^[^"]*"//' -e 's/"$//')
for ASSEMBLYLOCATION in $ASSEMBLYLOCATIONS; do
NEWASSEMBLYLOCATION="${ASSEMBLYLOCATION//\\/\/}"
xmlstarlet edit --inplace --update "/PackageConfiguration/AssemblyLocations/AssemblyLocation[@location='$ASSEMBLYLOCATION']/@location" --value "$NEWASSEMBLYLOCATION" "$CONFIG"
done

LIBRARYFOLDERS=$(xmllint --xpath '//PackageConfiguration/LibraryFolders/LibraryFolder/@path' "$CONFIG" | sed -e 's/^[^"]*"//' -e 's/"$//')
for LIBRARYFOLDER in $LIBRARYFOLDERS; do
NEWLIBRARYFOLDER="${LIBRARYFOLDER//\\/\/}"
xmlstarlet edit --inplace --update "//PackageConfiguration/LibraryFolders/LibraryFolder[@path='$LIBRARYFOLDER']/@path" --value "$NEWLIBRARYFOLDER" "$CONFIG"
done
}

update_paths_to_windows() {
ASSEMBLYLOCATIONS=$(xmllint --xpath '//PackageConfiguration/AssemblyLocations/AssemblyLocation/@location' "$CONFIG" | sed -e 's/^[^"]*"//' -e 's/"$//')
for ASSEMBLYLOCATION in $ASSEMBLYLOCATIONS; do
NEWASSEMBLYLOCATION="${ASSEMBLYLOCATION//\//\\}"
xmlstarlet edit --inplace --update "/PackageConfiguration/AssemblyLocations/AssemblyLocation[@location='$ASSEMBLYLOCATION']/@location" --value "$NEWASSEMBLYLOCATION" "$CONFIG"
done

LIBRARYFOLDERS=$(xmllint --xpath '//PackageConfiguration/LibraryFolders/LibraryFolder/@path' "$CONFIG" | sed -e 's/^[^"]*"//' -e 's/"$//')
for LIBRARYFOLDER in $LIBRARYFOLDERS; do
NEWLIBRARYFOLDER="${LIBRARYFOLDER//\//\\}"
xmlstarlet edit --inplace --update "//PackageConfiguration/LibraryFolders/LibraryFolder[@path='$LIBRARYFOLDER']/@path" --value "$NEWLIBRARYFOLDER" "$CONFIG"
done
}

if [[ -v BONSAI_EXE_PATH ]]; then
if [ ! -f "$BONSAI_EXE_PATH" ]; then
bash "$BONSAI_ENV_DIR"/Setup.sh
bash "$BONSAI_ENV_DIR"/run "$@"
else
BONSAI_VERSION=$(xmllint --xpath "//PackageConfiguration/Packages/Package[@id='Bonsai']/@version" "$CONFIG" | sed -e 's/^[^"]*"//' -e 's/"$//')
if [[ -z ${BONSAI_VERSION+x} ]] && [ "$BONSAI_VERSION" \< "2.8.4" ]; then
echo "Updating paths to Linux format..."
trap cleanup EXIT INT TERM
update_paths_to_linux
mono "$BONSAI_EXE_PATH" "$@"
cleanup
else
mono "$BONSAI_EXE_PATH" "$@"
fi
fi
else
echo "BONSAI_EXE_PATH is not set. Please set the path to the Bonsai executable."
return
fi
Loading