黒木玄 Gen Kuroki
- いいね数 389,756/311,170
- フォロー 995 フォロワー 14,556 ツイート 293,980
- 現在地 (^-^)/
- Web https://genkuroki.github.io/documents/
- 自己紹介 私については https://twilog.org/genkuroki と https://genkuroki.github.io と https://github.com/genkuroki と https://github.com/genkuroki/public を見て下さい。
2021年08月09日(月)
#Julia言語 LinearMaps.jlの代わりに使うための必要最小限の定義が書かれているソースファイルを
github.com/genkuroki/publ...
においておきました。
この辺の気楽さは多重ディスパッチの大きな特徴。
一度多重ディスパッチに慣れると他のスタイルが気楽でなくする強い制限を持っていることに気付く。 pic.twitter.com/yyMXQEPSVd
タグ: Julia言語
posted at 23:30:27
#Julia言語 Arpack.eigsやArnoldiMethod.partialschurは「行列のようなもの」を引数として受け取ります。函数から「行列のようなもの」を作るためのLinearMaps.jlというパッケージがあります。
その仕組みは単純で本質的にLinearAlgebra.mul!(y, A, x)が定義された型のオブジェクトAを作るだけです。 twitter.com/genkuroki/stat... pic.twitter.com/xgqzU69ElY
タグ: Julia言語
posted at 23:26:02
Stefan Karpinski @StefanKarpinski
Relevant in light of current RedMonk trend which disagrees with other rankings (IEEE, PyPL, TIOBE) and with rapidly growing metrics like downloads, forum posts, package installs, etc. twitter.com/KenoFischer/st...
タグ:
posted at 23:25:18
@genkuroki 確認遅れてしまい申し訳ございません。
ご指摘いただき誠にありがとうございます。
> #Julia言語 の開発者はv1.0を出すときにv1.*のあいだはbreaking changeを行わないと約束しています。
こちら確認不足で申し訳ございません。
訂正させていただきます。
タグ: Julia言語
posted at 23:10:43
OokuboTact 大久保中二病中年 @OokuboTact
#超算数
小学校の各科目の専門的な説明をするのは、全員が教科調査官。
国立教育政策研究所に丸投げな実態 pic.twitter.com/OhHCwIWXXp
タグ: 超算数
posted at 21:54:38
@hgn_no_otaku @golgo_sardine @sekai_tankyu #超算数
割り算どころか、かけ算すら教わっていなくても、数の概念があり文の意味が分かれば、6個を2人で分けると1人何個か?とか、2個ずつ分けると何人分?を解くことは可能だろう。
「等分除が先か?包含除が先か?」というのは、
子供が「この問題、何算?」となってしまうのと同根。
タグ: 超算数
posted at 20:25:26
@hgn_no_otaku @golgo_sardine @sekai_tankyu #超算数
本質的に区別は不可能で、子供に区別させるのは無意味、を前提に、教える側が便宜的に2つを区別することを認めるとして
こう言う発想自体が駄目だと思うけど、言っても無駄でしょうね。 pic.twitter.com/nN0vBriQnk
タグ: 超算数
posted at 20:22:20
Nathanael Wong (黄智信) @natgeo_wong
Anyway, time to sleep, catch you all later.
タグ:
posted at 17:36:28
Nathanael Wong (黄智信) @natgeo_wong
Many thanks to Alexander Barth, who developed NCDatasets.jl, which allows me to easily retrieve data from OPeNDAP servers and load them in-place in order to save memory. The slight performance hit compared to downloading from FTP servers is worth it due to memory resources saved.
タグ:
posted at 17:35:18
Nathanael Wong (黄智信) @natgeo_wong
Thus, the @Harvard and @HarvardGSAS administration must bargain in good faith with @hgsuuaw to guarantee that the high-quality and highly productive research they take pride in and value so much continues. Focused grad students results in high-quality work.
タグ:
posted at 17:32:22
Nathanael Wong (黄智信) @natgeo_wong
It is important for Harvard to note that graduate students often work over time and over weekends, so a living-wage based on normal hours is the least they must do. Alleviating financial concerns we have will help us focus on high-quality research work.
タグ:
posted at 17:32:22
Nathanael Wong (黄智信) @natgeo_wong
And with the land-sea masks provided by NASA, it is a simple matter to extract data over ocean or land! See this example over West-Africa. I provide functions to download the Land-sea masks too! pic.twitter.com/CrIzc66boE
タグ:
posted at 17:32:22
Nathanael Wong (黄智信) @natgeo_wong
But with what I have now, I can easily download data for specific regions upon demand. Here is a figure of IMERG precipitation rates in summer 2015 over the Indian subcontinent (defined in AR6). Just download and plot - the work of extracting regional data is done in the backend! pic.twitter.com/owO0ACO0cN
タグ:
posted at 17:32:21
Nathanael Wong (黄智信) @natgeo_wong
Currently, only the download features are available, and will be release in the next day or two, hopefully, as v0.1 of the package. Analysis codes/functions should be coming in v0.2 hopefully in the next few weeks, but I need to concentrate on other research tasks this week.
タグ:
posted at 17:32:20
Nathanael Wong (黄智信) @natgeo_wong
The link to the repo as it stands is here: github.com/natgeo-wong/NA..., complete with up-to-date documentation written by yours truly.
タグ:
posted at 17:32:20
Nathanael Wong (黄智信) @natgeo_wong
This weekend, I have been working hard to get a new #JuliaLang package, NASAPrecipitation.jl, up to speed. This package (which is opensource and free to use), aims to help me easily download and analyze IMERG and TRMM datasets from @NASAAtmosphere's satellite missions. pic.twitter.com/0A2JC55wKj
タグ: JuliaLang
posted at 17:32:19
Nathanael Wong (黄智信) @natgeo_wong
As part of a continuing push for @Harvard to acknowledge that their graduate students (@hgsuuaw) deserve a fair, living wage in recompense with high costs of living in the Boston metro area, I will to show the work that I do in my research every few days.
タグ:
posted at 17:32:19
ごまふあざらし(GomahuAzaras @MathSorcerer
github.com/plotly/Dash.jl...
いつの間にかバグ治ってる?
#Julia言語
タグ: Julia言語
posted at 16:57:22
『解説』(法的拘束力皆無の著作物なのになぜか教育関係者の間で権威がある文献)の算数編が分厚くなった理由は、おそらく、SNSで伝統的な算数教育のスタイルが相当にひどいことがよく知られるようになってしまったから。😅
「SNSでは色々言われているが、正しいのは我々である」と言いたげな感じ。 twitter.com/ookubotact/sta...
タグ:
posted at 16:53:38
OokuboTact 大久保中二病中年 @OokuboTact
#超算数
「指導要領・解説」は法的強制力は無いけれど、その影響力は大きい。
「教師用指導書(教科書作成会社が出している検定外の教科書マニュアル)」と並んで2大悪
タグ: 超算数
posted at 16:20:38
OokuboTact 大久保中二病中年 @OokuboTact
#超算数 #指導要領解説
文科省のメンバーは教科調査官以外は同じメンバー pic.twitter.com/n9gjGaWBqg
posted at 15:45:29
statscloud.app presents you with a unique opportunity to see how #RStats, #Python, #JuliaLang all compare to each other on the same data set.
All the code updates as you use the app so you can see how they all adapt to the changes.
👉 Demo: bit.ly/3CpMDAG pic.twitter.com/iXLxJM5cFr
posted at 15:45:00
OokuboTact 大久保中二病中年 @OokuboTact
#超算数
中学数学の「指導要領・解説」の名簿
平成20年版と平成29年版
177頁から225頁に増量
小学校の指導要領・解説よりは増えていない。 pic.twitter.com/gKvsHViCJ1
タグ: 超算数
posted at 15:37:26
これ↓🤣
discourse.julialang.org/t/tips-for-mov...
Tips for moving from Julia to Numpy/Python?
タグ:
posted at 15:25:54
結構最近のJulia discourseの質問で爆笑してしまったのが、「JuliaからPythonに引っ越すためにはどうすればよいですか?」という感じの質問。
回答の中に色々参考になるものが結構ありました。
タグ:
posted at 15:22:05
この似たようなことをできるライブラリの選択が、素人には非常に難しい。Juliaのコミュニティはその手の話題に詳しい人が多く、最終的には質問すれば嫌になるくらい親切に教えてもらえそうな安心感がある。
Juliaのdiscourseでは初歩的な質問ほどよく答えてもらえます。
タグ:
posted at 15:19:49
#Julia言語 Arpack.jl (FORTRANライブラリのラッパー)で23秒から9秒弱まで速くなっていたのですが、Arpack.jlをArnoldiMethod.jlで置き換えたら、3~4秒まで速くなりました。
使用するパッケージを変えただけ。
ArnoldiMethod.jlの使用例ソースコード
↓
github.com/genkuroki/publ... twitter.com/yujitach/statu... pic.twitter.com/Xia47NIbV7
タグ: Julia言語
posted at 15:13:57
非公開
タグ:
posted at xx:xx:xx
Joy Watson Taniguchi @JoyTaniguchi
両親が大学を出ておらず、子の代で初めて大学に進学した人を第一世代とか first generation と言うらしい。そう学生を見下すような発言を最近、続けて耳にした。相手は、大学教員である私が第一世代だとはまさか思わず言っているようだが(私、第一世代です🤣)嫌な気持ちになる。
タグ:
posted at 14:49:00
ill-multi-threaded caseでは実行するたびに誤差の大きさが変わる(笑)
こういうの個人的に結構楽しい。
Juliaが普及してカジュアルにみんなが並列化を使い始めると、
「乱数を使っていないのに、実行するたびに値が変わるんです!」
という言う人が大量発生するかも。悪いことではない。 twitter.com/dhotta_met/sta... pic.twitter.com/aKSdK6whWQ
タグ:
posted at 14:32:22
#統計 等重率の原理がなくても、統計力学の仕組みはうまく働きます。
大偏差原理の仮定は重要。
統計学での指数型分布族は等確率の原理を仮定しない場合のカノニカル分布の数学的例になっています。(その辺は全部証明を付けられる。)
いつもの解説ノートの genkuroki.github.io/documents/2016... の第7節を参照。 twitter.com/phasetrbot/sta...
タグ: 統計
posted at 14:19:03
Richard Dawkins @RichardDawkins
Stand up for scientific truth and clarity of language. You don’t go to university to feel “safe” in your “feelings”. You go to be challenged, and to learn how to deal with challenge.
タグ:
posted at 14:18:25
❌①グローバル変数を複数の函数内で引数を経由せずに使っている。
❌②1つ1つの函数の行数が結構多い。
この2つの悪条件が重なると、函数内の変数が一体どこから来て、どのように値が変わり得るかの確認が非常に面倒になる。つらい。 twitter.com/genkuroki/stat...
タグ:
posted at 14:13:01
Daisuke HOTTA, 堀田大介 @dhotta_met
@genkuroki 今回のようにレース状態になっていると実行する度に結果が変わってしまいます。そのこともrace conditionの検出のヒントになりますね。
タグ:
posted at 13:59:25
並列化はバグを容易に発生させ、上のような場合には「誤差が何故か微妙に増えたように感じられる」という症状になり、バグを見逃す可能性が十分にある。
仕事で並列化を行うときには正確性のテストを前もって準備しておかないと非常に危ない。
タグ:
posted at 12:44:46
ill-multithreadedな場合には、エラーが出て止まったりせずに、数値計算では添付画像のように無駄に誤差が出るという症状になります。
20.0になって欲しいところが、19.997864723205566になったりする。この微妙な違いに気付かない危険性は十分にある。wwwww
github.com/genkuroki/publ... pic.twitter.com/jPyOlCpC2T
タグ:
posted at 12:42:05
実際のワークフローでは
①ループの適切な分割のもとで並列化しないとダメだと知っていても、まずはThreads.@ threadsを付け加えて実行してみる。
②その計算が終わるまでの間、適切な分割について考える。
の順になります。コンピュータは無駄な計算であっても「やれ!」と言うとやってくれる😊 twitter.com/genkuroki/stat...
タグ:
posted at 12:34:35
docs.julialang.org/en/v1/manual/m... には「スレッド並列化でかち合っても正しく計算できるatomic操作」が紹介されていますが、大量にatomic操作を行うと遅くなります。
かち合わない部分に分割してから並列化するのが基本です。
タグ:
posted at 12:30:09
数値計算では「うまく行かない場合」が非常に面白いのですが、大抵の場合(このスレッドの場合も)、訂正してまともになって「つまらなくなった場合」だけが公開されることになる。
それじゃあまずいと思って最小の動く例を作ったのだが、複雑で原因がよくわからない場合の方が実際にはおもろい。
タグ:
posted at 12:26:08
#Julia言語
j ⊻ (1 << i) は2進表示でのjのi桁目のビットの反転を意味(1の位が0桁目扱い)。各iごとにjへの全単射の作用が得られる。
ill-multithreadedな場合にはエラーで止まって欲しいのですが、そうなりません。数値計算ではなぜか誤差が大きくなる症状になる(笑)
github.com/genkuroki/publ... pic.twitter.com/vYkQtukzjR
タグ: Julia言語
posted at 12:23:11
#Julia言語
ループのどの範囲までを並列化するかが考えるべきことです。
上に場合にはforループの順序を交換したことが本質的でした。
上の場合にどのような不具合が出るかが分かる最小の動く例を作りました。これを見れば何をやっちゃいけないかが分かると思います。
github.com/genkuroki/publ... twitter.com/genkuroki/stat... pic.twitter.com/kQ4KaTFSls
タグ: Julia言語
posted at 12:17:30
#Julia言語 LoopVectorization.jl版での実行時間は1回目は17.7秒で2回目が8.9秒で、大幅に違います。
1回目の実行が遅いのは実行時にコンパイルしているからです。
このような理由から julia foo.jl スタイルでJuliaを使うことは多くの場合に不合理な行為になるので要注意です。 pic.twitter.com/g4A4tlLIfg
タグ: Julia言語
posted at 11:42:30
#Julia言語 LoopVectorization.@ tturbo版!
LoopVectorization.jlパッケージはうまくハマれば大幅な高速化を実現してくれます。その代わりに、@ tturbo マクロを作用させることができるforループ内のコードに制限が付きます。
この場合にはif文を削除しています。 pic.twitter.com/MSlmiVEfCo
タグ: Julia言語
posted at 11:39:36
#Julia言語 この方法でforループをスレッド並列化するときには、この場合には、異なるstateから同じnewstateが出て来てかち合うとアウトです。
iに関するforループを外側に出せば、内側のstateに関するforループについてそうならないことが保証されます。
以下のリンク先も参照。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 11:32:51
#Julia言語
並列化可能なforループを Threads.@ threads マクロでスレッド並列化したバージョン。
1つ上のやつに単に Threads.@ threads を追加しただけです。これだけで、線形写像 `H` の計算が4倍速くなります。
github.com/genkuroki/publ... pic.twitter.com/VMlkXugoGl
タグ: Julia言語
posted at 11:27:06
#Julia言語 オリジナルの微修正版
細かい変更版です。以下ではこれをベースに考えます。
並列化に興味がある人は、HFunc!内の二重のforループの順序を交換したことが以下では本質的なので、そこだけ確認すれば十分です。
github.com/genkuroki/publ... pic.twitter.com/4bOGOoF4N9
タグ: Julia言語
posted at 11:23:27
#Julia言語
線形写像 `H` の計算をスレッド並列化したのですが、計算時間は
99.8 ms ←オリジナル
85.3 ms ←微修正版
25.3 ms ←Threads.@ threads
11.8 ms ←LoopVectorizaton.@ tturbo
と約9倍速くなっています。(6コア12スレッド)
続く
github.com/genkuroki/publ... pic.twitter.com/JdwEvP6wWT
タグ: Julia言語
posted at 11:17:43
#Julia言語 今朝になってからgistを見ました。
十分にJuliaを使いこなしているじゃないですか!
相互作用のある系のGPU計算は少し真面目にコードを書く必要があるので、スレッド並列化を試してみました。
Arpack.eigsの計算は私の環境で2~3倍速くなりました。解説に続く
github.com/genkuroki/publ... twitter.com/yujitach/statu... pic.twitter.com/bUMHfAr6m3
タグ: Julia言語
posted at 11:13:11
#プログラミング勉強中
#ジュリア言語
#基本 #グラフ #アニメーション
#programming
#julialang #julia
#basic #graph #animation
#jupyternotebook
#macos #bigsur
#macmini #macminim1 pic.twitter.com/TpiLBMqJtz
タグ: animation basic bigsur graph julia julialang jupyternotebook macmini macminim1 macos programming アニメーション グラフ ジュリア言語 プログラミング勉強中 基本
posted at 09:12:50
二重行政大いに結構じゃないですか。文化施設がいっぱいあるのは、同時期にコンサートも展示会も発表会も博品会も演劇もできるという意味です。横浜市はそれ自体の発展も県都としてのメリットも最大限に享受。
タグ:
posted at 08:10:12
#Julia言語 メモ CUDA.jl (GPU)関連解説リンク集 (新しめのもの)
www.cs.unb.ca/~aubanel/Julia...
geekmonkey.org/julia-gpu-prog...
irhum.github.io/blog/cudajulia
タグ: Julia言語
posted at 05:38:45
『原則宿泊療養』方針の自治体で入院調整現場がギャップに苦しむだけの状況です。「テレビではホテルって言ったよ」とか言われ。その地域は現場が苦しみ、防ぎ得た死が増えるリスクを抱え、医療の管理下に無い死亡も実は増え得る。。トリアージが必要。各地の本部組織の調整状況を調査下さい。2/2
タグ:
posted at 02:41:52
違いますね。危機が伝わっていません。とっくに災害状態で、日々新たに出る感染者数に対して宿泊療養のキャパはそんなにないです。現実は病床も宿泊療養施設も遥かに溢れるだけ。トリアージが当然で「自宅療養を基本」は当たり前の状態です。1/2 twitter.com/amneris84/stat...
タグ:
posted at 02:41:52
To all RNA researchers using #julialang, you can now visualize your RNA structure interactively in a web app using the brand new DashBio.jl (github.com/plotly/DashBio...) by Plotly(@plotlygraphs). You can find examples on dash-julia.plotly.com/dash_bio/forna...
#Plotly #DashBio #FORNA pic.twitter.com/7Zum3Tn9ar
タグ: DashBio FORNA julialang Plotly
posted at 00:27:04