-
Notifications
You must be signed in to change notification settings - Fork 0
/
videoscript.txt
41 lines (34 loc) · 2.22 KB
/
videoscript.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(Notes: needs to run in 3 minutes or less...)
Welcome Julia Con participants. My name is Colin Beckingham.
I use Julia for machine learning and other purposes on standalone computers running openSUSE Linux.
I'm presenting here three utilities useful in machine learning on a single machine.
Machine learning projects tend to be heavy users of resources and can take a long time to run.
The more effectively we can generate results
the more quickly we can change hyperparameters and implement a turnaround.
Two important limitations on a local machine are:
the load on the cores of the CPU,
and the load on physical memory.
The CPU can get hot when used heavily. Just as inconvenient,
when memory fills completely this triggers the swap space.
This can prevent a machine from crashing fatally
but effectively renders the machine inoperable from the keyboard or remotely for a considerable time.
Julia can be very greedy; it calls for brakes as well as accelerator.
Machine learning runs can take a long time -
even with a GPU a heavy learning process, such as those with large images, can take many hours or even days.
It is useful to know when a process finishes, and especially when an abnormal event happens that stops the run.
So we make use of the loudspeakers in the box to call the attention of the operator
to resolve the issue with the shortest delay possible.
This project proposes three simple utilities to manage these issues.
First, a check on the CPU temperature,
second memory usage and available "headroom",
and third an audio call out when a problem arises or the run reaches a predetermined state.
All three use existing operating system routines: sensors, free, and flite.
Sensors gives details on CPU temperature,
free reports the state of memory usage,
and flite sings out an audio message at appropriate moments.
All of these are currently called by the Julia run() command.
In a machine learning context we might use Julia's Flux package.
The idea is to build the functions into our pipeline in strategic locations,
for example in the callback to the train!() function,
to give audio warnings or implement wait delays to allow the CPU to cool before proceeding.
Thank you for taking the time to review this idea.