As an Amazon Associate I earn from qualifying purchases.
Python: Passing *args and **kwargs into a function
# *args is the usual notation for optional, non-keyword arguments
# **kwargs is the usual notation for optional, keyword arguments
def test_var_args(regular_argument, *args, **kwargs):
print ("- regular argument:", regular_argument)
for arg in args:
print ("- unnamed arguments arg:", arg)
for key in kwargs:
print ("- named arguments: %s: %s" % (key, kwargs[key]))
test_var_args(1, "two", 3, four=4, five="five")
- regular argument: 1
- unnamed arguments arg: two
- unnamed arguments arg: 3
- named arguments: four: 4
- named arguments: five: five
find similar posts:
Python
Python bubble sort
Since I had to learn python for my machine learning and self-driving classes and I had to review the basics. Not to waste my efforts, I am creating a new guide, you can see more in:
https://github.com/UkiDLucas/python_zen_interviews
https://github.com/UkiDLucas/python_zen_interviews
def bubble_sort(the_list: list, verbose: int=0):
"""
author: @UkiDLcuas
This function changes the provided list.
The list can contain integers, decimal numbers, strings, etc.
The list is sorted in ascending order (first to last).
The function does not return anything.
"""
if verbose > 0:
iteration = 0
# count remining bubbles ( aka step backwards)
start = len(the_list)-1 # end, zero-based list
stop = 0 # beginning
step = -1 # backwards
for remaining_bubbles in range(start, stop, step):
for i in range(remaining_bubbles):
if verbose > 0:
iteration = iteration + 1
print("iteration", iteration, "remaining_bubbles", remaining_bubbles, "index", i)
print(" ", the_list)
print(" comparing if is", the_list[i], "bigger than", the_list[i+1])
if the_list[i] > the_list[i+1]:
# swap
temp = the_list[i+1] # temp placehoder for the value to be moved
the_list[i+1] = the_list[i] # bubble up
the_list[i] = temp # bubble down
if verbose > 0:
print("*** finished", len(the_list), "element list in ", iteration, "iterations")
Sailing on Amazon river? - No, not really.
This video is not related to sailing on great lakes, but it is amazing and worth seeing...
AWS
Notes on how I use Amazon AWS EC2 instances for Convolutional Deep Neural Networks Machine Learning, using powerful GPU CUDA configurations.
I have moved this post to:
https://ukidlucas.github.io/posts/AWS.html
I have moved this post to:
https://ukidlucas.github.io/posts/AWS.html
Ubuntu: installing TensorFlow for NVidia (CUDA) GPU
I am setting TensorFlow on:
- Ubuntu 16.04 LTS 64-bit
- 16 GiB RAM
- AMD Athlon(tm) II X4 640 Processor × 4
- GeForce GTX 1050 Ti/PCIe/SSE2
Check if you have NVidia CUDA GPU
uki@uki-p6710f:~$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1c82 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 0fb9 (rev a1)
Check the name of your OS
uki@uki-p6710f:~$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
NAME="Ubuntu"
VERSION="16.04.1 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.1 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
Check C compiler
uki@uki-p6710f:~$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Ubuntu Headers
uki@uki-p6710f:~$ sudo apt-get install linux-headers-$(uname -r)
[sudo] password for uki:
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-4.4.0-62-generic is already the newest version (4.4.0-62.83).
linux-headers-4.4.0-62-generic set to manually installed.
The following packages were automatically installed and are no longer required:
linux-headers-4.4.0-31 linux-headers-4.4.0-31-generic linux-image-4.4.0-31-generic linux-image-extra-4.4.0-31-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 89 not upgraded.
Download newest CUDA installer (1.4GB)
https://developer.nvidia.com/cuda-downloads
https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run
Execute CUDA installer
cd ~/Downloads/uki@uki-p6710f:~/Downloads$ ls -alt
Mar 5 14:54 cuda_8.0.61_375.26_linux.run
Mar 5 14:54 cuda_8.0.61_375.26_linux.run
Feb 2 09:53 NVIDIA-Linux-x86_64-375.10.run
Set environment variables
uki@uki-p6710f:~$ nano ~/.bashrcexport PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64
uki@uki-p6710f:~$ echo $LD_LIBRARY_PATH
/usr/local/cuda-8.0/lib64
Install TensorFlow via pip3 (Python 3.5)
uki@uki-p6710f:~$ python --version
Python 3.5.2 :: Anaconda 4.3.0 (64-bit)
$ sudo apt install python3-pip
$ conda info --envs
# conda environments:
#
tensorflow /home/uki/anaconda3/envs/tensorflow
root * /home/uki/anaconda3
# conda environments:
#
tensorflow /home/uki/anaconda3/envs/tensorflow
root * /home/uki/anaconda3
$ conda env create -f /Users/ukilucas/dev/uki.guru/conda_enviroment_GPU.yml
$source activate tensorflow
Setting Jupyter kernel to match Python conda environment
http://ukitech.blogspot.com/2017/02/kernel.html
find similar posts:
CUDA,
GPU,
NVidia,
TensorFlow,
Ubuntu
Subscribe to:
Posts (Atom)
My favorite quotations..
“A man should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.” by Robert A. Heinlein
"We are but habits and memories we chose to carry along." ~ Uki D. Lucas
Recommended pages
Popular Recent Articles
-
Subclade R1b1b2a1a1d1* (23andMe.com nomenclature) or R1b1a2a1a1a4 (FTDNA nomenclature) is a men linage descended from the region that wa...
-
When trying to open the database you may get the following exception: java.sql.sqlexception: [sqlite_error] sql error or missing database (n...
-
I have noticed a very unsettling statistic on my blog. This prompted a fascinating question about AI, blogs' future, and maybe even the...
-
That is a good, if not easy, problem to solve! In the result, I would like to take the following code in <blockquote> tag function fol...
-
AIKO - "The Child of Artificial Intelligence" (in Japanese "ko" means child; "ai" means love denoting the ...
-
O'REILLY 201 0011 031 10110100180 000110111 01100041 001100010010000 5011011001010 1101110011 000100000 00000 10 1000012 Escaping the Bu...
-
On the mobile, the page is hard to read so I am including a LINK to Google document ...
-
This example shows you how to format a number based on user's language and region setting (LOCALE) /** * This method updates th...
-
Recently, I have been thinking about a new lever-action rifle. The appeal of these late 1800 models is that they are great, very light (5lbs...
-
Work Pressure! I am managing a project where budget is very (read insanely) small, deadlines are even worse, and most of the time it feels l...