2024.12.24
ビジネスが急速に変化する現代は「OODAサイクル」と親和性が高い 流通卸売業界を取り巻く5つの課題と打開策
リンクをコピー
記事をブックマーク
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:ありがとうございます。
(会場拍手)
2025.01.16
社内プレゼンは時間のムダ パワポ資料のプロが重視する、「ペライチ資料」で意見を通すこと
2025.01.20
組織で評価されない「自分でやったほうが早い病」の人 マネジメント層に求められる「部下を動かす力」の鍛え方
2025.01.21
言われたことしかやらないタイプの6つの言動 メンバーが自主的に動き出すリーダーのマインドセット
2025.01.15
若手がごろごろ辞める会社で「給料を5万円アップ」するも効果なし… 従業員のモチベーションを上げるために必要なことは何か
2025.01.14
目標がなく悩む若手、育成を放棄する管理職… 社員をやる気にさせる「等級制度」を作るための第一歩
2025.01.21
今までの1on1は「上司のための時間」になりがちだった “ただの面談”で終わらせない、部下との対話を深めるポイント
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.01.14
コンサルが「理由は3つあります」と前置きする理由 マッキンゼー流、プレゼンの質を向上させる具体的Tips
2025.01.22
部下に言いづらいことを伝える時のリーダーの心得 お願いを快く引き受けてもらう秘訣
2025.01.09
マッキンゼーのマネージャーが「資料を作る前」に準備する すべてのアウトプットを支える論理的なフレームワーク
コミュニケーション能力の高い人が“無自覚”にやっている話し方 5選
2022.08.07 - 2022.08.07
チームの生産性を上げるマネジメント術
2024.12.11 - 2024.12.11
特別対談「伝える×伝える」 ~1on1で伝えること、伝わること~
2024.12.16 - 2024.12.16
安野たかひろ氏・AIプロジェクト「デジタル民主主義2030」立ち上げ会見
2025.01.16 - 2025.01.16
国際コーチング連盟認定のプロフェッショナルコーチ”あべき光司”先生新刊『リーダーのためのコーチングがイチからわかる本』発売記念【オンラインイベント】
2024.12.09 - 2024.12.09