2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
リンクをコピー
記事をブックマーク
antimon2氏:いろいろやってるんですけど「で、具体的になんか作ったものないの?」っていう話だと思うので、その紹介もしていきます。
まず公式に登録しているパッケージがあります。旧暦の計算をするライブラリで、自分の趣味と言うか、個人的な必要に迫られて作ったやつです。せっかくだから公開するかってことで公開して、ちゃんとJuliaのバージョン0.5以降で、1.0でも今動きます。
これは公式なので、「add QDates」っていうふうにパッケージREPLでタイプするだけで実行できます。実行結果はこんな感じです。using QDatesってやってQDates.today()ってやると、旧暦の今日の日付。これ昨日実行した結果なんで昨日の日付が出てるんですけど。1を足すと次の日になったり。1日だけじゃなくてもちろん1ヶ月前、旧暦の1ヶ月前の年月日を出したりとかっていうこともできます。そういうのを公開してます。
公式なパッケージは今のところこれだけなんですけど(笑)、ほかにもいろいろとGitHubで公開してるので。オレオレパッケージになってるやつは、addでURLを直接指定すればインストールできるようなものはいくつか置いてあるんで。興味があったらちょっと覗いてみてください。
仕事ではどうなのかっていう話なんですけど、実績はないです。実績ないって言うか、明確に外に向かって「Juliaでこういう仕事しました」「こういうプロダクトを作ってます」っていう実績がないだけで、仕事で使ってることは使ってます。
いくつかその中でも話題にのぼってもよさそうなやつを紹介すると、PCLっていうライブラリがあるんですけど、C++のライブラリで「Point Cloud Library」という、3次元上の点を見つけて、カメラで点を見たときの深さとか距離を測って、3次元の物体認識をしたり。そういうのに応用できるライブラリで、それをJupyter Notebook上でやれたらおもしろいねって話になってて。
それを実験するのにJupyterだったらJuliaでやってみようかって話してたんですけど、このときちょっとうまくいかなくて。(Juliaのバージョンが)0.5だったからってのもあったと思います。うまくいかなくて断念しちゃいました。案件そのものは違うかたちで納品までは持ってったんですけど、こういうことで実験はしてみてます。
もう1つ実験的にやったやつが、KinectとOpenNIを組み合わせました。KinectはMicrosoftのやつですね。あれでさっきと同じように物体の3次元的な距離とかを認識して、それをOpenNIを使って解析して、それをさらにJuliaで制御して、人を検知したり姿勢を検知するっていうのがとりあえずテーマで。
それをJuliaから利用するっていう実験をやろうと思ってたんですけど、これはそもそも案件そのものがお蔵入りしちゃって、日の目を見ることがなくて。そもそもKinectとかOpenNIっていうのが、今はぜんぜんもう出てこなくなっちゃって。残念ですけども、しょうがない。
あと細かい社内製ツールはJuliaで作ってるものもあります。というかオレオレツール類ですけど。例えばファイル一括変換。CSVの中身を一括で変換したりとか。ちょっとLinuxとか強い人はシェル芸でできるよ、ってレベルなツールとかも多いんですけど、一応Juliaでいろいろやってはいます。
ただそれだけだとアレなので準備を裏で着々と進めていて、それがさっきちらっと言ったユニットテストの話です。前回の自分の勉強会でも発表したんですけど、Qiitaの記事にもこの間まとめたやつで、例えばこんな感じです。Juliaでちゃんとテストを追加すると、コマンド一発でよくあるユニットテストみたいな感じで。これは、このときはパスして。エラーの例が出てないんですけれど、こういうのはちゃんとできますよと。
これのいいところは、ちゃんとユニットテストになってるって言うか、エラーが1個でもあれば終了コードが0じゃなくて1になるので失敗したってことがコマンドレベルでわかります。CIとかにもちゃんと使えるようになってるということです。
ほかにも例えば、ついこの間追加したんですけど、WiGっていう機械学習で使う新しい活性化関数を提案した人がいて。それ実際どうなのっていうのをJuliaで試しに実装してみて動かしてみたっていう実験なんですけども。これもGitHubで公開してます。
実行するとこんな感じになります。確かにある程度ちゃんと動くんですけど、WiG使わないほうが速かったんです。精度もそんなに変わらないっていうことがあったんですけど。とりあえずJuliaでちゃんと実装して実験をしてっていうことをやっています。
あとはそもそもJuliaでプロジェクトで作るにはどうしたらいいかっていうのと、Juliaの特有の書き方とか。あとJuliaと、Fluxっていうディープラーニングに使えるライブラリが今1番ホットだと思うんですけど、それを使って実際に機械学習のタスクを構築してそれを回すっていう回し方とか。いつでも誰でもJuliaで開発することができるように、社内のwikiみたいなところとQiitaにも少しずつまとめていこう、ということをやってます。
目に見える実績としてはGitHubにいくつか上げてるので、それを見てくださいレベルのことしかやってないって言えばやってないんですけども、一応そんなことをやってます。
ということで、実績の話も終わりで。そろそろ時間なのでまとめに入るんですけど、まとめとしては結局「I ♥ Julia」ってことで(笑)。以上です。
(会場拍手)
bicycle1885氏:なにか質問ある方はいらっしゃいますか。
(会場挙手)
質問者1:仕事のツールでJuliaを使ってて、0.5から1.0とかに変わったときに、だいたいいろんなリポジトリライブラリが動かなくなったりあるじゃないですか。そういうの、ぶっちゃけ怖いなって思うときってないですか。
antimon2:実際ありますけど、逆に0.5とかの時代には、「まだちょっと早いな」っていう。絶対もうすぐ1.0出るから、それまではなるべくテンション抑え目にしておこうと思って。1.0が出てから、1.0で動くライブラリを中心にまとめてるところです。
だから今まで0.5を使ってたのは社内では自分だけだったので、それ以外の人には1.0を初めから使えばいいよという感じで勧めています。さっきの機械学習のライブラリにFluxっていうのがあるんですけど、それは1.0よりも前から出てて、1.0になったときにすぐ対応してたので。じゃあFlux使えばいいやと思ったので。
逆に最初のほうに出たMXNetとかは、1.0に今まだちゃんと対応してなかったりしてるので。そこは自分がうまいこと見極めて、誘導していこうというふうに考えて今やっていっています。
bicycle1885:ほかにはなにかありますか。
(会場挙手)
質問者2:Fluxの仕組みのことなんですけども、実際触ってみて良い点とか悪い点とかってどんなものが。
antimon2:Fluxの1つの特徴は、例えばconvolutionとかdenseとか、Chainerみたいな感覚で定義できます。だからネットワークがすごく組みやすいっていうのと、あと学習もだいたいフレームワークで、ここに投げれば学習してくれるっていう仕組みができてて。そういう意味でChainerとかkerasも似たような感じかな。そういうのでやってれば移行は簡単です。
Knetっていう別のライブラリも試してたんですけど、そっちはJuliaフレンドリーで、Juliaっぽく書いてそれを構築していく感じなんです。ただ、そのへんのネットワークの構築がちょっと面倒くさいのと、あと実際動かしてみて、CPUで動かしてもKnetよりもFluxのほうが学習がむちゃくちゃ速かった。なんかうまいこと最適化しているんだろうという。
そのへんはちょっと追い切れてはいないんですけど、ただそういうのも含めてFluxのほうがなんか使いやすそうだなっていう。今んところの感覚はそんな感じです。
bicycle1885:ほかにはありますか。……じゃあ、ありがとうございました。
antimon2:ありがとうございます。
(会場拍手)
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略