- 82
- 28 670
Cameron Pfiffer
Приєднався 4 вер 2013
Messing around with the Gigabrain.jl database
I'm making an (extremely speculative and poorly built) Julia AI database for my project comind (blog.comind.me/) and I thought I'd share a few of the early weirdness.
- nougat (github.com/facebookresearch/nougat)
- PromptingTools.jl (github.com/svilupp/PromptingTools.jl)
- nougat (github.com/facebookresearch/nougat)
- PromptingTools.jl (github.com/svilupp/PromptingTools.jl)
Переглядів: 189
Відео
A light introduction to comind
Переглядів 1086 місяців тому
I originally made this for backdrop build but went way over time. It is kind of informative too so I figured I'd put it up as well.
Julia for Deep Learning -- Second Meeting
Переглядів 304Рік тому
Julia for Deep Learning Second Meeting
Julia for Deep Learning Initial Meeting
Переглядів 265Рік тому
Held on July 24th, 2023 and noon PST. See our website for more information, www.deep-learning.club
Quietness
Переглядів 60Рік тому
Used my digital recording here, so the audio quality is actually good. I think it came out nice!
Julia for Economists 2022: Computational Bayesian Statistics
Переглядів 2,2 тис.2 роки тому
Julia for Economists 2022: Computational Bayesian Statistics
Julia for Economists 2022: Performance
Переглядів 2,5 тис.2 роки тому
Julia for Economists 2022: Performance
Julia for Economists 2022: Optimization and Automatic Differentiation
Переглядів 3,8 тис.2 роки тому
Julia for Economists 2022: Optimization and Automatic Differentiation
Julia for Economists 2022: Parallelization
Переглядів 3,8 тис.2 роки тому
Julia for Economists 2022: Parallelization
Julia for Economists 2022: Julia Basics
Переглядів 13 тис.2 роки тому
Julia for Economists 2022: Julia Basics
1:17:30 im^im is actually a real number and equal to exp(-pi/2). Julia gives the correct answer
Viewers might want to skip to minute 27 to see if they can read the code, given the small font being used. That might mean that 3 hours of this video are a waste of time, but the first 27 minutes are of some value, particularly if watched at high speed to increase the information density.
Maybe sexiest until JFK Jr. comes back...very soon!!!
const variables can be changed. A warning will be generated. What caccot be changed is their type.
Type instability is when the returned value depends on the value of the input, and not when it depends on the type of the input. Example: f (x) = x > 0 ? 1 : "x".
At 1:35:30 the model has two variables that were not defined: n_bidders and vs. Are these global variables? What do they represent?
Do you have something about dynamic programming ? Solving bellman equation... ?
No, not in these. If there's enough interest I could be motivated to do them later?
@@CameronPfiffer I never used Julia. Do you think it's worth watching until what video of this series? just to familiarize myself with the language before starting to dynamic programming properly. I don't even know what an IDE is.
@@arthurlbn I can't really advise you about what language to use because it depends a lot on where you're working, but it couldn't hurt to watch.
@@CameronPfiffer the professor said to use julia
@@arthurlbn then I would consider spending a little time with the video!
Sounds so good!
Terminal screens should be bigger and the slides smaller....
Take turns to go into the bathroom to deposit your load, threads.
for im ^ im = e^{- (\pi/2 + 2k \pi)}, but im^3 = -im
I find it not only useful but really intertaining, the style of narration is clear and well-paced, my only concern is the audio quality but I guess that's what you get when recording the live lecture. Thank you!
The auction was a bit challenging to follow. Is it possible to see another example so that we can understand Turing without the addition of auction math.
Turing.ml has more tutorials.
I am not an economy guy but great tutorial! Just a small update, for @time in CUDA, it would be better to use @CUDA.time instead of @time to get a precise measurement of both time and allocation.
0:00 Intro & Admin 9:08 Warnings 14:05 CPU functions 16:40 CPU functional parts 21:17 Core & caches 41:41 Serial processing 52:00 Multithreading vs multiprocessing 1:03:44 Multithreading 1:27:26 Threads.@threads. Order of execution 1:40:51 Race conditions 1:50:50 Locks 2:00:40 Example. Monte Carlo 2:15:23 Example. Grid search 2:23:54 ThreadX 2:26:01 Multiprocessing 2:34:02 Parallel map and loops 2:36:54 Communication between processes. Channel 2:45:07 GPU 2:56:27 Project
0:00 Intro & Admin 16:42 Disclaimer 18:24 What is Julia 26:42 Demo 35:08 Installation 43:06 Editors & IDE 49:58 First program (coding workflow) 56:26 Variables, assignment 1:04:54 Primitive types 1:11:15 Arithmetic operators 1:23:42 Boolean operators 1:34:53 Functions 1:54:57 Tuples 2:05:04 Functions contd (keyword arguments) 2:06:42 Array types, convenience functions 2:20:54 Map 2:29:16 Broadcasting 2:29:40 Control flow (if, for loop) 2:36:26 Project example 2:39:36 Control flow contd (while loop, continue, break) 2:45:52 Exceptions 2:48:48 Linear algebra 3:01:23 Stack arrays (hcat, vcat) 3:03:17 Types (annotations, struct) 3:15:03 Module example 3:19:03 Multiple dispatch example
Btw with respect to the stack vs heap, I can demonstrate it when allocation is needed for an immutable vs a mutable down below. Also, I suspect your examples do not work because you're having a matrix, which is a mutable type, as a field of your Mutable and Immutable object. Meaning that it needs to be heap allocated. The immutable type you're building has two allocations fewer because the `a` and `b` fields are effectively stack allocated but the matrix isn't. Hope it helps =) ```julia using BenchmarkTools struct Immutable a::Int64 b::Int64 c::Int64 d::Int64 e::Int64 end mutable struct Mutable a::Int64 b::Int64 c::Int64 d::Int64 e::Int64 end function make_immut() return Immutable(1, 2, 3, 4, 5) end function make_mut() return Mutable(1, 2, 3, 4, 5) end @btime make_immut() @btime make_mut() ``` On my machine, I get 0.838 ns (0 allocations: 0 bytes) 6.222 ns (1 allocation: 48 bytes)
Oh this is an excellent example! Thank you for sharing it.
@@CameronPfiffer I made an edit which probably explains why you were having issues in your example (most likely the matrix)! Glad I could help =)
Very cool and appreciated series, thanks a lot!
Beautiful. How long have you practiced playing the piano?
Maybe 5-6 years?
Hey, Cameron - thanks for sharing these resources! Looking forward to watch them in full.
@1:17:08 For anyone who's wondering why "im ^ im" gives "0.2078..." here's why: For the following, "e" is Euler's number 2.7182..., "im" is the sqrt(-1), and "π" is 3.1415... Euler's identity gives us this equation e^(im*π) = -1. Taking the square root of both sides gives us sqrt( e^(im*π) ) = sqrt(-1). The right-hand side is just the imaginary number, so sqrt( e^(im*π) ) = im. The sqrt(x) is the same thing as x^(1/2), so the left-hand side becomes ( e^(im*π) )^(1/2) = im. Properties of exponents allow us to take (x^y)^z = x^(y*z), so the left-hand side becomes e^(im*π*1/2) = im. Then we can raise both sides to the power of im, and get ( e^(im*π*1/2) )^im = im^im. So using the same property of exponents as before, the left-hand side becomes e^(im*im*π*1/2) = im^im. Since im*im = -1, we get e^(-1*π*1/2) = im^im. The left-hand side of the equation evaluates to 0.2078... = im^im. Here's the WolframAlpha evaluation: www.wolframalpha.com/input?i=i%5Ei To evaluate "e^(-1*π*1/2)" in Julia, you'll need to type "\euler" followed by Tab (Julia may display a question mark in a box), "^(-1*\pi" followed by Tab, "*1/2)" followed by Enter. Altogether the expression should look like this: ℯ^(-1*π*1/2) The Julia REPL may not natively support the fancy script for Euler's number, so you may get the question mark box I mentioned earlier. Either way, it'll still evaluate correctly. In fact, you should be able to copy-paste that expression directly into the Julia REPL. Just note that to paste into the Julia REPL, you need to just right-click and it'll paste immediately. Also, try evaluating this expression in Julia to check for equality: im^im == ℯ^(-1*π*1/2)
what linux were you using ? thanks
Manjaro with KDE Plasma
Any recommended learning resource for julia?
JULIA ACADEMY
Thanks for sharing many things about Julia. Thanks for talking about why Julia is fast at 20:00 by mentioning JIT compiled and interpreted.
please from now on, use very large font for people who wear glasses. What do you need all that blanc space for? Enlarge The fonts! Tnx.
I had the same issues. Now I'm watching it on 50 inch TV set to actually see what's on the slide. Still I'm finding it really hard at times. The reason the font is tiny is because it's not PowerPoint. He is using the slide feature of Jupiter notebook. I'm not sure if this can be enlarged. Would be better.
Excellent Video.
Please could you share slides
@@ramakanaveen please see the link in the video description.
This is brilliant! Really looking forward to this series, might finally make me dare the jump from python, especially the CS topics 😍😍
Great video for Julia beginner!
Is this improvisational? At any rate, I liked it!
It is indeed improvisational!
THE LYRICS ARE MY FRAVORITE PART