Skip to content

Instantly share code, notes, and snippets.

@adujardin
adujardin / check_cuda_driver.sh
Created November 18, 2020 11:23
Check nvidia driver + cuda runtime version for Linux
#!/usr/bin/env bash
# Check if nvidia-smi is there
if ! command -v nvidia-smi &> /dev/null
then
echo "nvidia-smi could not be found"
exit
else
# Check that it's working
@adujardin
adujardin / download_deb_files.sh
Last active August 12, 2023 08:34
Script to download all dependencies of a package on Ubuntu
#!/usr/bin/env bash
# Inspired from https://ostechnix.com/download-packages-dependencies-locally-ubuntu/
# Can be typically run in docker to select the version you want like:
# docker run -it -v $(pwd):/host ubuntu:20.04 bash -c "$(cat ./this_script.sh)"
package_to_install="docker.io"
apt update; apt install -y apt-rdepends lsb-release
@adujardin
adujardin / mat_conversion.hpp
Last active October 19, 2020 15:54
OpenCV Mat <-> ZED SDK Mat
inline cv::Mat slMat2cvMat(const sl::Mat& input) {
int cv_type = -1;
switch (input.getDataType()) {
case sl::MAT_TYPE::F32_C1: cv_type = CV_32FC1;
break;
case sl::MAT_TYPE::F32_C2: cv_type = CV_32FC2;
break;
case sl::MAT_TYPE::F32_C3: cv_type = CV_32FC3;
break;
case sl::MAT_TYPE::F32_C4: cv_type = CV_32FC4;
# https://spin.atomicobject.com/2017/08/24/start-stop-bash-background-process/
trap "kill 0" EXIT
# For jetsons
if [ "$(arch)" == "aarch64" ]; then
nvpmodel_maxn_mode=0
if [ -e "/proc/device-tree/compatible" ]; then
if [ -e "/proc/device-tree/model" ]; then
sudo apt update -y
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y
sudo apt install wget curl nano -y
wget https://gist.githubusercontent.com/adujardin/59f7653080c2f25e7558d18de66b59bf/raw/ee6850a5c5b81b936454b3ec6373b127e7181624/upgrade_jetson.sh
chmod +x upgrade_jetson.sh
sudo bash upgrade_jetson.sh
@adujardin
adujardin / upgrade_jetson.sh
Last active January 29, 2021 17:34
Script to upgrade OTA the jetpack version (currently to JP45 from JP44)
#!/usr/bin/env bash
LT4_MAJOR=32
LT4_MINOR_OLD=4
LT4_MINOR=5
if [ "$EUID" -ne 0 ]
then echo "Please run as root"
exit
fi
@adujardin
adujardin / clean_jetson.sh
Last active March 19, 2026 02:43
Script to remove unnecessary stuffs from the Jetson to save disk space (WIP)
# https://elinux.org/Jetson/FAQ/BSP/RootFS_Reduction#Remove_installed_deb_packages
## Step 1, safe
sudo apt update
sudo apt autoremove -y
sudo apt clean
sudo apt remove thunderbird libreoffice-* -y
## Step 2, still safe but not recommended for dev use
# samples
import argparse
import torch
import torchvision
import shutil
# https://github.com/vita-epfl/openpifpaf/blob/master/openpifpaf/export_onnx.py
try:
import onnx
import onnx.utils
except ImportError:
@adujardin
adujardin / discover_ip_slack.sh
Last active May 17, 2021 12:21
Explore local network IP and output it on slack (PC name / IP / Vendor)
# Should be run as root
Ips=$( nmap -sP 192.168.*.* | sed '/Host is up/d' | sed 's/.localdomain//' | sed 's/Nmap scan report for *//' | sed '/Nmap done/d' | sed 's/MAC Address: ..:..:..:..:..:.. //' | tr \(\) \* | paste -d ' ' - - | sed '/Starting Nmap/d' )
# Check the diff between current run and previous (should be run in a cron every hour or something)
echo $Ips > current
if ! cmp current old >/dev/null 2>&1; then
curl -X POST -H 'Content-type: application/json' --data '{"text": "---------------------\n\n\n'"${Ips}"'" }' https://hooks.slack.com/services/<INSERT_ACTUAL_SLACK_URL_HERE>
mv current old
fi
@adujardin
adujardin / get_pyzed.py
Last active February 19, 2020 17:16
Automatically download pyzed package from the detected ZED SDK, CUDA and OS version
import os
import platform
import sys
import re
import urllib.request
ZED_SDK_MAJOR = ""
ZED_SDK_MINOR = ""
CUDA_STR = ""