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

error #221

Closed
wants to merge 77 commits into from
Closed

error #221

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
a62591d
Move chart to center
alexbelgium Sep 17, 2024
f9e10fd
Align css
alexbelgium Sep 17, 2024
0ab758d
Align dark-style.css
alexbelgium Sep 17, 2024
bde72af
Add stats title
alexbelgium Sep 17, 2024
79fe8c7
Removed title : cleaner look
alexbelgium Sep 17, 2024
75e7e90
Shorter titles for stats
alexbelgium Sep 17, 2024
64b7305
Shorter title, unique is implicit
alexbelgium Sep 17, 2024
ec68073
Invert Species Total and Today
alexbelgium Sep 17, 2024
30876cd
Re-add left chart
alexbelgium Sep 28, 2024
354678d
Re-add left chart bis
alexbelgium Sep 28, 2024
b1548f4
Adapt css for flexible layout
alexbelgium Sep 28, 2024
47dbe97
Align with main css
alexbelgium Sep 28, 2024
75bf9f7
Restore overview-stats, add center-column
alexbelgium Sep 28, 2024
fd4d67a
Restore style, add center-column
alexbelgium Sep 28, 2024
b7c2429
Restore css
alexbelgium Sep 28, 2024
f1df462
add center-column
alexbelgium Sep 28, 2024
fdc1ac5
sort_date icon aligned with others
alexbelgium Sep 30, 2024
c01e5d1
Aligned design icon
alexbelgium Sep 30, 2024
cf96145
base on sort_abc instead of sort_occ
alexbelgium Sep 30, 2024
3f29d05
Improve layout
alexbelgium Sep 30, 2024
ce7bcd8
Improve again
alexbelgium Sep 30, 2024
6a34f1d
Remove useless change
alexbelgium Sep 30, 2024
7bcc707
Convert checkbox to toggleswitch
alexbelgium Oct 1, 2024
ecb1775
Merge branch 'Nachtzuster:main' into Overview-UI
alexbelgium Oct 1, 2024
7b8877b
Merge branch 'Nachtzuster:main' into switch_toggle_purge
alexbelgium Oct 2, 2024
5d4dec1
Keep previous code layout
alexbelgium Oct 2, 2024
5e93177
Merge branch 'Nachtzuster:main' into Overview-UI
alexbelgium Oct 2, 2024
0f96efc
Merge pull request #20 from alexbelgium/switch_toggle_purge
alexbelgium Oct 2, 2024
47e9d24
Merge branch 'Nachtzuster:main' into sort_date
alexbelgium Oct 2, 2024
de2018d
Merge pull request #21 from alexbelgium/sort_date
alexbelgium Oct 2, 2024
6c50fda
Merge pull request #22 from alexbelgium/Overview-UI
alexbelgium Oct 2, 2024
259e65a
Improve layout : gray border, dark toggle
alexbelgium Oct 2, 2024
e273796
Add confirmed_species
alexbelgium Oct 2, 2024
0ddc5d7
Merge pull request #24 from alexbelgium/confirmed_species_feature
alexbelgium Oct 2, 2024
86220d5
Update newinstaller.sh
alexbelgium Oct 2, 2024
f25905f
New chart layout https://github.com/Nachtzuster/BirdNET-Pi/discussion…
alexbelgium Oct 2, 2024
7775e57
Merge pull request #25 from alexbelgium/new_daily_graph
alexbelgium Oct 2, 2024
f0425a8
Refactored code
alexbelgium Oct 2, 2024
d5ff21a
Merge pull request #26 from alexbelgium/new_daily_graph
alexbelgium Oct 2, 2024
49ef31f
Update README.md
alexbelgium Oct 2, 2024
69ad8b8
Update README.md
alexbelgium Oct 2, 2024
5c2ace2
Update README.md
alexbelgium Oct 2, 2024
fd9231b
Update README.md
alexbelgium Oct 2, 2024
1506176
Avoid changing unneeded things
alexbelgium Oct 2, 2024
9e6f8af
Add button
alexbelgium Oct 2, 2024
f1b86bf
Merge pull request #27 from alexbelgium/confirmed_species_feature
alexbelgium Oct 2, 2024
b1b17a8
Update advanced.php
alexbelgium Oct 2, 2024
a581bc3
Align with previous code
alexbelgium Oct 2, 2024
7ffa600
Shorten titles
alexbelgium Oct 2, 2024
32729f1
Merge pull request #28 from alexbelgium/confirmed_species_feature
alexbelgium Oct 2, 2024
dcf96da
Margin not needed, messes with layout
alexbelgium Oct 2, 2024
b96a7a3
Update style.css
alexbelgium Oct 2, 2024
f5b6317
Updated layout
alexbelgium Oct 2, 2024
3b43776
Better transparency
alexbelgium Oct 2, 2024
e894da4
Align radio style
alexbelgium Oct 2, 2024
b301520
Merge pull request #29 from alexbelgium/confirmed_species
alexbelgium Oct 2, 2024
e3a0418
Merge pull request #30 from alexbelgium/switch_toggle_purge
alexbelgium Oct 2, 2024
37e4a95
Use '✓' instead of OK
alexbelgium Oct 2, 2024
8e8a4bf
Revert to ok
alexbelgium Oct 2, 2024
c1d2386
Update play.php
alexbelgium Oct 2, 2024
e221a94
Merge branch 'main' into confirmed_species
alexbelgium Oct 2, 2024
127e9c6
Merge pull request #31 from alexbelgium/confirmed_species
alexbelgium Oct 2, 2024
7260e3d
Update play.php
alexbelgium Oct 2, 2024
e639de8
Update play.php
alexbelgium Oct 2, 2024
04a478f
Update play.php
alexbelgium Oct 2, 2024
facb924
Add SNR
alexbelgium Oct 3, 2024
1431b3b
Add SNR : server.py
alexbelgium Oct 3, 2024
e00152f
Add SNR
alexbelgium Oct 3, 2024
47fbb86
Add SNR
alexbelgium Oct 3, 2024
1a3c82d
Merge pull request #32 from alexbelgium/SNR
alexbelgium Oct 3, 2024
fe96209
New species
alexbelgium Oct 4, 2024
0a0e12f
Update overview.php
alexbelgium Oct 4, 2024
68143df
Merge branch 'main' of https://github.com/Nachtzuster/BirdNET-Pi into…
alexbelgium Oct 27, 2024
bfa6830
Update README.md
alexbelgium Oct 27, 2024
039b93e
Merge pull request #34 from alexbelgium/Nachtzuster-main
alexbelgium Oct 27, 2024
b610ad9
Update README.md
alexbelgium Oct 27, 2024
4cbb9c5
Added sort by max confidence to Best Recordings page
Emmo213 Oct 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
244 changes: 9 additions & 235 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,235 +1,9 @@
<h1 align="center"><a href="https://github.com/mcguirepr89/BirdNET-Pi/blob/main/LICENSE">Review the license!!</a></h1>
<h1 align="center">You may not use BirdNET-Pi to develop a commercial product!!!!</h1>
<h1 align="center">
BirdNET-Pi
</h1>
<p align="center">
A realtime acoustic bird classification system for the Raspberry Pi 5, 4B, 400, 3B+, and 0W2
</p>
<p align="center">
<img src="https://user-images.githubusercontent.com/60325264/140656397-bf76bad4-f110-467c-897d-992ff0f96476.png" />
</p>
<p align="center">
Icon made by <a href="https://www.freepik.com" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a>
</p>

## About this fork:
I've been building on [mcguirepr89's](https://github.com/mcguirepr89/BirdNET-Pi) most excellent work to further update and improve BirdNET-Pi. Maybe someone will find it useful.

Changes include:

- Web ui is much more responsive
- Daily charts now include all species, not just top/bottom 10
- Bump apprise version, so more notification type are possible
- Swipe events on Daily Charts (by @croisez)
- Support for 'Species range model V2.4 - V2'
- Bookworm support
- Experimental support for writing transient files to tmpfs
- Rework analysis to consolidate analysis/server/extraction. Should make analysis more robust and slightly more efficient, especially on installations with a large number of recordings
- Bump tflite_runtime to 2.11.0, it is faster
- Rework daily_plot.py (chart_viewer) to run as a daemon to avoid the very expensive startup
- Lots of fixes & cleanups

!! note: see 'Migrating' on how to migrate from mcguirepr89

## Introduction
BirdNET-Pi is built on the [BirdNET framework](https://github.com/kahst/BirdNET-Analyzer) by [**@kahst**](https://github.com/kahst) <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg"></a> using [pre-built TFLite binaries](https://github.com/PINTO0309/TensorflowLite-bin) by [**@PINTO0309**](https://github.com/PINTO0309) . It is able to recognize bird sounds from a USB microphone or sound card in realtime and share its data with the rest of the world.

Check out birds from around the world
- [BirdWeather](https://app.birdweather.com)<br>

Currently listening in these countries . . . that I know of . . .
- The United States
- Germany
- South Africa
- France
- Austria
- Sweden
- Scotland
- Norway
- England
- Italy
- Finland
- Australia
- Canada
- Switzerland
- Romania
- Spain
- New Zealand
- Russia
- Croatia
- Belgium
- Israel
- Ireland
- Denmark
- Costa Rica
- The Philippines
- Hungary
- South Sudan
- Argentina
- Brazil
- Thailand
- Colombia
- Estonia
- Tasmania
- Luxembourg
- Crete
- Rwanda
- Oman
- Belarus
- Czech Republic
- Japan

## Features
* **24/7 recording and automatic identification** of bird songs, chirps, and peeps using BirdNET machine learning
* **Automatic extraction and cataloguing** of bird clips from full-length recordings
* **Tools to visualize your recorded bird data** and analyze trends
* **Live audio stream and spectrogram**
* **Automatic disk space management** that periodically purges old audio files
* [BirdWeather](https://app.birdweather.com) integration -- you can request a BirdWeather ID from BirdNET-Pi's "Tools" > "Settings" page
* Web interface access to all data and logs provided by [Caddy](https://caddyserver.com)
* [GoTTY](https://github.com/yudai/gotty) and [GoTTY x86](https://github.com/sorenisanerd/gotty) Web Terminal
* [Tiny File Manager](https://tinyfilemanager.github.io/)
* FTP server included
* SQLite3 Database
* [Adminer](https://www.adminer.org/) database maintenance
* [phpSysInfo](https://github.com/phpsysinfo/phpsysinfo)
* [Apprise Notifications](https://github.com/caronc/apprise) supporting 90+ notification platforms
* Localization supported

## Requirements
* A Raspberry Pi 5, Raspberry 4B, Raspberry Pi 400, Raspberry Pi 3B+, or Raspberry Pi 0W2 (The 3B+ and 0W2 must run on RaspiOS-ARM64-**Lite**)
* An SD Card with the **_64-bit version of RaspiOS_** installed (please use Bookworm) -- Lite is recommended, but the installation works on RaspiOS-ARM64-Full as well. Downloads available within the [Raspberry Pi Imager](https://www.raspberrypi.com/software/).
* A USB Microphone or Sound Card

## Installation
[A comprehensive installation guide is available here](https://github.com/mcguirepr89/BirdNET-Pi/wiki/Installation-Guide). This guide is slightly out-dated: make sure to pick Bookworm, also the curl command is still pointing to mcguirepr89's repo.

Please note that installing BirdNET-Pi on top of other servers is not supported. If this is something that you require, please open a discussion for your idea and inquire about how to contribute to development.

[Raspberry Pi 3B[+] and 0W2 installation guide available here](https://github.com/mcguirepr89/BirdNET-Pi/wiki/RPi0W2-Installation-Guide)

The system can be installed with:
```
curl -s https://raw.githubusercontent.com/Nachtzuster/BirdNET-Pi/main/newinstaller.sh | bash
```
The installer takes care of any and all necessary updates, so you can run that as the very first command upon the first boot, if you'd like.

The installation creates a log in `$HOME/installation-$(date "+%F").txt`.
## Access
The BirdNET-Pi can be accessed from any web browser on the same network:
- http://birdnetpi.local OR your Pi's IP address
- Default Basic Authentication Username: birdnet
- Password is empty by default. Set this in "Tools" > "Settings" > "Advanced Settings"

Please take a look at the [wiki](https://github.com/mcguirepr89/BirdNET-Pi/wiki) and [discussions](https://github.com/mcguirepr89/BirdNET-Pi/discussions) for information on
- [BirdNET-Pi's Deep Convolutional Neural Network(s)](https://github.com/mcguirepr89/BirdNET-Pi/wiki/BirdNET-Pi:-some-theory-on-classification-&-some-practical-hints)
- [making your installation public](https://github.com/mcguirepr89/BirdNET-Pi/wiki/Sharing-Your-BirdNET-Pi)
- [backing up and restoring your database](https://github.com/mcguirepr89/BirdNET-Pi/wiki/Backup-and-Restore-the-Database)
- [adjusting your sound card settings](https://github.com/mcguirepr89/BirdNET-Pi/wiki/Adjusting-your-sound-card)
- [suggested USB microphones](https://github.com/mcguirepr89/BirdNET-Pi/discussions/39)
- [building your own microphone](https://github.com/DD4WH/SASS/wiki/Stereo--(Mono)-recording-low-noise-low-cost-system)
- [privacy concerns and options](https://github.com/mcguirepr89/BirdNET-Pi/discussions/166)
- [beta testing](https://github.com/mcguirepr89/BirdNET-Pi/discussions/11)
- [and more!](https://github.com/mcguirepr89/BirdNET-Pi/discussions)


## Updating

Use the web interface and go to "Tools" > "System Controls" > "Update." If you encounter any issues with that, or suspect that the update did not work for some reason, please save its output and post it in an issue where we can help.

## Backup and Restore

This script is primary meant for migrating your data for one system to another. Since the time required to create or restore a backup depends on the size of the data set and the speed of the storage, this could take quite a while.
These examples assume the backup medium is mounted on `/mnt`

To backup:
```commandline
./scripts/backup_data.sh -a backup -f /mnt/birds/backup-2024-07-09.tar
```
To restore:
```commandline
./scripts/backup_data.sh -a restore -f /mnt/birds/backup-2024-07-09.tar
```

## Uninstallation
```
/usr/local/bin/uninstall.sh && cd ~ && rm -drf BirdNET-Pi
```
## Migrating
Before switching, make sure your installation is fully up-to-date. Also make sure to have a backup, that is also the only way to get back to the original BirdNET-Pi.
Please note that upgrading your underlying OS to Bookworm is not going to work. Please stick to Bullseye. If you do want Bookworm, you need to start from a fresh install and copy back your data. (remember the backup!)

Run these commands to migrate to this repo:
```
git remote remove origin
git remote add origin https://github.com/Nachtzuster/BirdNET-Pi.git
./scripts/update_birdnet.sh
```
## Troubleshooting and Ideas
*Hint: A lot of weird problems can be solved by simply restarting the core services. Do this from the web interface "Tools" > "Services" > "Restart Core Services"
Having trouble or have an idea? *Submit an issue for trouble* and a *discussion for ideas*. Please do *not* submit an issue as a discussion -- the issue tracker solicits information that is needed for anyone to help -- discussions are *not for issues*.

PLEASE search the repo for your issue before creating a new one. This repo has nothing to do with the validity of the detection results, so please do not start any issues around "False positives."

## Sharing
Please join a Discussion!! and please join [BirdWeather!!](https://app.birdweather.com)
I hope that if you find BirdNET-Pi has been worth your time, you will share your setup, results, customizations, etc. [HERE](https://github.com/mcguirepr89/BirdNET-Pi/discussions/69) and will consider [making your installation public](https://github.com/mcguirepr89/BirdNET-Pi/wiki/Sharing-Your-BirdNET-Pi).

## Homeassistant addon

BirdNET-Pi can also be run as a [Homeassistant](https://www.home-assistant.io/) addon through docker.
For more information : https://github.com/alexbelgium/hassio-addons/blob/master/birdnet-pi/README.md

## Cool Links

- [Marie Lelouche's <i>Out of Spaces</i>](https://www.lestanneries.fr/exposition/marie-lelouche-out-of-spaces/) using BirdNET-Pi in post-sculpture VR! [Press Kit](https://github.com/mcguirepr89/BirdNET-Pi-assets/blob/main/dp_out_of_spaces_marie_lelouche_digital_05_01_22.pdf)
- [Research on noded BirdNET-Pi networks for farming](https://github.com/mcguirepr89/BirdNET-Pi-assets/blob/main/G23_Report_ModelBasedSysEngineering_FarmMarkBirdDetector_V1__Copy_.pdf)
- [PixCams Build Guide](https://pixcams.com/building-a-birdnet-pi-real-time-acoustic-bird-id-station/)
- <ins>[Core-Electronics](https://core-electronics.com.au/projects/bird-calls-raspberry-pi)</ins> Build Article
- [RaspberryPi.com Blog Post](https://www.raspberrypi.com/news/classify-birds-acoustically-with-birdnet-pi/)
- [MagPi Issue 119 Showcase Article](https://magpi.raspberrypi.com/issues/119/pdf)


### Internationalization:
The bird names are in English by default, but other localized versions are available thanks to the wonderful efforts of [@patlevin](https://github.com/patlevin). Use the web interface's "Tools" > "Settings" and select your "Database Language" to have the detections in your language.

Current database languages include the list below:
| Language | Missing Species out of 6,362 | Missing labels (%) |
| -------- | ------- | ------ |
| Afrikaans | 5774 | 90.76% |
| Catalan | 544 | 8.55% |
| Chinese | 264 | 4.15% |
| Croatian | 370 | 5.82% |
| Czech | 683 | 10.74% |
| Danish | 460 | 7.23% |
| Dutch | 264 | 4.15% |
| Estonian | 3171 | 49.84% |
| Finnish | 518 | 8.14% |
| French | 264 | 4.15% |
| German | 264 | 4.15% |
| Hungarian | 2688 | 42.25% |
| Icelandic | 5588 | 87.83% |
| Indonesian | 5550 | 87.24% |
| Italian | 524 | 8.24% |
| Japanese | 640 | 10.06% |
| Latvian | 4821 | 75.78% |
| Lithuanian | 597 | 9.38% |
| Norwegian | 325 | 5.11% |
| Polish | 265 | 4.17% |
| Portuguese | 2742 | 43.10% |
| Russian | 808 | 12.70% |
| Slovak | 264 | 4.15% |
| Slovenian | 5532 | 86.95% |
| Spanish | 348 | 5.47% |
| Swedish | 264 | 4.15% |
| Thai | 5580 | 87.71% |
| Ukrainian | 646 | 10.15% |

## Screenshots
![Overview](docs/overview.png)
![chrome_HNMJKSPwV0](https://user-images.githubusercontent.com/103586016/217896322-aee3ecc4-e40e-40df-ade1-79f05ded21f2.png)


## :thinking:
Are you a lucky ducky with a spare Raspberry Pi? [Try Folding@home!](https://foldingathome.org/)
Additional PR vs Nachtzuster, used for HA addon
- New graph : https://github.com/alexbelgium/BirdNET-Pi/tree/new_daily_graph
- Confirmed species : https://github.com/alexbelgium/BirdNET-Pi/tree/confirmed_species_feature
- SNR : https://github.com/alexbelgium/BirdNET-Pi/tree/SNR
- New species on top : https://github.com/alexbelgium/BirdNET-Pi/tree/new_species

To do :
- observation.org upload
- High/low pass
4 changes: 4 additions & 0 deletions homepage/images/check.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 28 additions & 0 deletions homepage/images/question.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion newinstaller.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ if [[ ! -z $PACKAGES_MISSING ]] ; then
fi

branch=main
git clone -b $branch --depth=1 https://github.com/Nachtzuster/BirdNET-Pi.git ${HOME}/BirdNET-Pi &&
git clone -b $branch --depth=1 https://github.com/alexbelgium/BirdNET-Pi.git ${HOME}/BirdNET-Pi &&

$HOME/BirdNET-Pi/scripts/install_birdnet.sh
if [ ${PIPESTATUS[0]} -eq 0 ];then
Expand Down
24 changes: 20 additions & 4 deletions scripts/advanced.php
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,15 @@
$contents = preg_replace("/RAW_SPECTROGRAM=.*/", "RAW_SPECTROGRAM=0", $contents);
}

if(isset($_GET["confirm_species"])) {
$confirm_species = 1;
if(strcmp($CONFIRM_SPECIES,$config['CONFIRM_SPECIES']) !== 0) {
$contents = preg_replace("/CONFIRM_SPECIES=.*/", "CONFIRM_SPECIES=$confirm_species", $contents);
}
} else {
$contents = preg_replace("/CONFIRM_SPECIES=.*/", "CONFIRM_SPECIES=0", $contents);
}

if(isset($_GET["custom_image"])) {
$custom_image = $_GET["custom_image"];
if(strcmp($custom_image,$config['CUSTOM_IMAGE']) !== 0) {
Expand Down Expand Up @@ -428,12 +437,19 @@ function collectrtspUrls() {
<table class="settingstable"><tr><td>
<h2>Options</h2>
<label for="silence_update_indicator">Silence Update Indicator: </label>
<input type="checkbox" name="silence_update_indicator" <?php if($newconfig['SILENCE_UPDATE_INDICATOR'] == 1) { echo "checked"; };?> ><br>
<p>This allows you to quiet the display of how many commits your installation is behind by relative to the Github repo. This number appears next to "Tools" when you're 50 or more commits behind.</p>
<input type="checkbox" name="silence_update_indicator" <?php if($newconfig['SILENCE_UPDATE_INDICATOR'] == 1) { echo "checked"; };?> >
<p>This allows you to quiet the display of how many commits your installation is behind by relative to the Github repo. This number appears next to "Tools" when you're 50 or more commits behind.</p><br>

<label for="raw_spectrogram">Minimalist Spectrograms: </label>
<input type="checkbox" name="raw_spectrogram" <?php if($newconfig['RAW_SPECTROGRAM'] == 1) { echo "checked"; };?> ><br>
<p>This allows you to remove the axes and labels of the spectrograms that are generated by Sox for each detection for a cleaner appearance.</p>
<input type="checkbox" name="raw_spectrogram" <?php if($newconfig['RAW_SPECTROGRAM'] == 1) { echo "checked"; };?> >
<p>This allows you to remove the axes and labels of the spectrograms that are generated by Sox for each detection for a cleaner appearance.</p><br>
</td></tr></table><br>

<table class="settingstable"><tr><td>
<h2>Option : Confirmed Species</h2>
<label for="confirm_species">Confirmation of species: </label>
<input type="checkbox" name="confirm_species" <?php if($newconfig['CONFIRM_SPECIES'] == 1) { echo "checked"; };?> >
<p>This allows to visually mark species that were manually confirmed as existing in the area. A new question mark appears next to species names in the Recordings page. Clicking it changes the icon to a checkmark, and add the species to the file confirmed_species_list.txt</p>
</td></tr></table><br>

<table class="settingstable"><tr><td>
Expand Down
1 change: 1 addition & 0 deletions scripts/clear_all_data.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ echo "Re-creating necessary directories"
sudo -u ${USER} ln -fs $(dirname $my_dir)/exclude_species_list.txt $my_dir
sudo -u ${USER} ln -fs $(dirname $my_dir)/include_species_list.txt $my_dir
sudo -u ${USER} ln -fs $(dirname $my_dir)/whitelist_species_list.txt $my_dir
sudo -u ${USER} ln -fs $(dirname $my_dir)/confirmed_species_list.txt $my_dir
sudo -u ${USER} ln -fs $(dirname $my_dir)/homepage/* ${EXTRACTED}
sudo -u ${USER} ln -fs $(dirname $my_dir)/model/labels.txt ${my_dir}
sudo -u ${USER} ln -fs $my_dir ${EXTRACTED}
Expand Down
Loading
Loading