2024.10.01
自社の社内情報を未来の“ゴミ”にしないための備え 「情報量が多すぎる」時代がもたらす課題とは?
リンクをコピー
記事をブックマーク
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.10.29
5〜10万円の低単価案件の受注をやめたら労働生産性が劇的に向上 相見積もり案件には提案書を出さないことで見えた“意外な効果”
2024.10.24
パワポ資料の「手戻り」が多すぎる問題の解消法 資料作成のプロが語る、修正の無限ループから抜け出す4つのコツ
2024.10.28
スキル重視の採用を続けた結果、早期離職が増え社員が1人に… 下半期の退職者ゼロを達成した「関係の質」向上の取り組み
2024.10.22
気づかぬうちに評価を下げる「ダメな口癖」3選 デキる人はやっている、上司の指摘に対する上手な返し方
2024.10.24
リスクを取らない人が多い日本は、むしろ稼ぐチャンス? 日本のGDP4位転落の今、個人に必要なマインドとは
2024.10.23
「初任給40万円時代」が、比較的早いうちにやってくる? これから淘汰される会社・生き残る会社の分かれ目
2024.10.23
「どうしてもあなたから買いたい」と言われる営業になるには 『無敗営業』著者が教える、納得感を高める商談の進め方
2024.10.28
“力を抜くこと”がリーダーにとって重要な理由 「人間の達人」タモリさんから学んだ自然体の大切さ
2024.10.29
「テスラの何がすごいのか」がわからない学生たち 起業率2年連続日本一の大学で「Appleのフレームワーク」を教えるわけ
2024.10.30
職場にいる「困った部下」への対処法 上司・部下間で生まれる“常識のズレ”を解消するには