python -c "import tensorflow; print(tensorflow.pywrap_tensorflow.IsMklEnabled())"
Start Jupyter or Jupyter-lab on startup of ec-2 instance.
sudo crontab -e
@reboot su ec2-user -c "/home/ec2-user/.start_jupyter.sh"
vi /home/ec2-user/.start_jupyter.sh
and add the following
cd /home/ec2-user
source /home/ec2-user/.bashrc
source /opt/intel/openvino/bin/setupvars.sh
/home/ec2-user/.local/bin/jupyter notebook --no-browser --NotebookApp.allow_password_change=False --NotebookApp.token="$INSTANCE_ID" --ip 0.0.0.0 --port 8888 > /tmp/jupyter.out 2>&1 &
chmod 755 .start_jupyter.sh
Debugging
sudo cat /var/log/cron
cat /tmp/jupyter.out
If you want to set password randomly on EC2-Instance:
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
INSTANCE_ID=`curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/instance-id`
cd /home/ec2-user
source /home/ec2-user/.bashrc
source /opt/intel/openvino/bin/setupvars.sh
/home/ec2-user/.local/bin/jupyter notebook --no-browser --NotebookApp.allow_password_change=False --NotebookApp.token="$INSTANCE_ID" --ip 0.0.0.0 --port 8888 > /tmp/jupyter.out 2>&1 &
Set Python3 as default in CentOS or Amazon Linux2
# Install Python3
sudo yum install -y python3
# Start by registering python2 as an alternative
sudo alternatives --install /usr/bin/python python /usr/bin/python2 50
# Register python3.5 as an alternative
sudo alternatives --install /usr/bin/python python /usr/bin/python3.5 60
# Select which Python version to use
sudo alternatives --config python
Ubuntu 18.04: Create/Modify SWAP partition memory limit.
fallocate: fallocate failed: Text file busy in ubuntu OS
Check the allocation:
free -m or sudo swapon --show
Make sure you have enough free disk space by
df -h
Disable the use of swap, allocate new swap space, enable swap.
sudo swapoff -a sudo fallocate -l 8G /swapfile sudo mkswap /swapfile sudo swapon /swapfile
Check the allocation:
free -m or sudo swapon --show
For detailed information: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-18-04
Connecting to Ubuntu Remote Desktop from Mac OS
-- Access the "Spotlight" by hitting CMD + Space-bar
-- Within the Spotlight field, enter vnc://your_server_ip:5900
If you get an error when connecting to Ubuntu from Mac OS using VNC screen sharing:
"The software on the remote computer appears to be incompatible with this version of Screen Sharing."
On Ubuntu 18.04:
$ gsettings set org.gnome.Vino require-encryption falseVerify the setting with
$ gsettings list-recursively org.gnome.Vino | grep encrypt
Fix wrong time in Ubuntu
sudo timedatectl set-local-rtc 1 --adjust-system-clock
BIOS settings to Install Ubuntu
- Disable Secure Boot.
- Set SATA-controller to AHCI from RAID On.
- Set boot mode to legacy from UEFI.
How to fix error Requires: libva.so.1(VA_API_0.33.0)(64bit)
Requires: libva.so.1(VA_API_0.33.0)(64bit)
Follow the following steps to install libva
sudo yum install libwayland-client
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libva-1.8.3-1.el7.x86_64.rpm
sudo rpm -i libva-1.8.3-1.el7.x86_64.rpm
Sample error log when installing FFMPEG:
Error: Package: ffmpeg-libs-3.4.7-1.el7.x86_64 (rpmfusion-free-updates)
Requires: libva.so.1(VA_API_0.33.0)(64bit)
Error: Package: ffmpeg-libs-3.4.7-1.el7.x86_64 (rpmfusion-free-updates)
Requires: libva-x11.so.1()(64bit)
Error: Package: libmfx-1.21-2.el7.x86_64 (epel)
Requires: libva-x11.so.1()(64bit)
Error: Package: libmfx-1.21-2.el7.x86_64 (epel)
Requires: libva-drm.so.1()(64bit)
Error: Package: ffmpeg-libs-3.4.7-1.el7.x86_64 (rpmfusion-free-updates)
Requires: libva-drm.so.1()(64bit)
Error: Package: ffmpeg-libs-3.4.7-1.el7.x86_64 (rpmfusion-free-updates)
Requires: libva.so.1()(64bit)
Error: Package: libmfx-1.21-2.el7.x86_64 (epel)
Requires: libva.so.1()(64bit)
Azure VM --os-disk-size-gb partition, format and mount
Check the current status with
Step 1: Create a partition (See sample output below)
Step 2: Refresh partition table
sudo partprobe
Step 4: Mount
Step 5: Verify
Step 6: Edit the /etc/fstab to automatically mount when restarted
Sample Output:
Watch CPU Frequencies in real time
sudo watch -n 1 cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
Unblock a specific port from the firewall in Centos 7
firewall-cmd --permanent --add-port=8888/tcp
firewall-cmd --reload
firewall-cmd --list-all
opencv: Install opencv CentOS
sudo yum install opencv opencv-python opencv-devel-docs
#OPTIONAL DEPENDENCIES:
sudo yum install -y python-devel gtk2-devel libdc1394-devel libv4l-devel ffmpeg-devel gstreamer-plugins-base-devel
sudo yum install -y libpng-devel libjpeg-turbo-devel jasper-devel openexr-devel libtiff-devel libwebp-devel
sudo yum install -y gcc cmake git gtk2-devel pkgconfig numpy ffmpeg
If your using virtual environment, copy the relevant cv files to the virtual environment.
cp /usr/lib64/python2.7/site-packages/cv* .venv/lib/python2.7/site-packages/
Caffe: Visualizing Caffe Network prototxt file using GraphViz: draw_net.py
From the Caffe root directory, you can generate a graph in image format from a .prototxt model file:
#INSTALL PRE-REQS:
$ make pycaffe
$ pip install pydotplus
$ yum install graphviz
Visualize a CNN in left-to-right:
#goto CAFFE ROOT
$ python/draw_net.py mynetwrk.prototxt mynetwrk.png
Output formats could be : PNG, PDF, DOT or other GraphViz supported formats.
Visualize a CNN in top-to-bottom:
$ python/draw_net.py --rankdir TB mynetwrk.prototxt mynetwrk.png
Following errors can be eliminated if you install the PRE-REQS (pip install pydotplus; yum install graphviz)
pydotplus.graphviz.InvocationException: GraphViz's executables not found
Exception: "dot" not found in path.
ImportError: No module named pydot
Github: Merging two branches
git remote add remote-name remote-github-url
git fetch remote-name
git merge remote-name/branch-name
git status
Github: Update a GitHub forked repository;
git remote add upstream github-URL
git fetch upstream
git merge upstream/master master
git pull upstream master
git push
Sublime Text: Multiple cursors or Multi-selection
- Press Alt/Command and then click in each region where you require a cursor.
- Select a block of lines : Shift + Command + L.
- Place the cursor over a particular word, and press Control/Command + D repeatedly to select additional occurrences of that word.
- Add an additional cursor at all occurrences of a word : Alt+F3 on Windows or Ctrl+Command+G on Mac.
Laravel: Debug by Printing Eloquent Query
<?php
use Log;
$name = "hawk";
$userResults = DB::table('users')
->leftJoin('planets', function($join) {
$join->on('users.planet_id', '=' , 'planets.id');
})
->where('users.lname' , 'like', '%'.$name.'%');
//You can print the SQL in your log file
Log::info('My search sql: '.($userResults->toSql()));
// OR you can save into a string variable
$mySQL = $userResults->toSql();
//Then use your get function
$userResults = $userResults->get(array('users.fname', 'planets.name'));
?>
The above code will print the following into your /storage/logs/laravel.log file
[2014-09-30 17:58:07] production.INFO: My search sql: SELECT * FROM users LEFT JOIN planets ON (users.planet_id = planets.id) WHERE users.lname LIKE '%hawk%'
Laravel 4: Easy Installation of PHP mcrypt extension for OS X 10.8/10.9
Download here: http://topicdesk.com/downloads/mcrypt/mcrypt-download
Laravel, Eloquent: SQL query with left join
SELECT users.fname, planets.name
FROM users
LEFT JOIN planets ON (users.planet_id = planets.id)
WHERE users.lname LIKE '%hawk%'
ELOQUENT SQL:
$name = "hawk";
$userResults = DB::table('users')
->leftJoin('planets', function($join) {
$join->on('users.planet_id', '=' , 'planets.id');
})
->where('users.lname' , 'like', '%'.$name.'%')
->get(array('users.fname', 'planets.name'));
Python contextlib for Timing Python code
If you've ever found yourself needing to measure the execution time of specific portions of your Python code, the `contextlib` module o...
-
If you get the following error while installing FFMPEG or other packages on CentOS 7. Requires: libva.so.1(VA_API_0.33.0)(64bit) Follow...
-
Common error: fallocate: fallocate failed: Text file busy in ubuntu OS Check the allocation: free -m or sudo swapon --show Make sure ...
-
How to fix Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' Apparently, Ma...