Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パ...
Search
skume
April 19, 2023
Programming
67
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
CRANパッケージの作成・投稿とコードレビュー対応
〜 GoogleImage2Array パッケージでの事例紹介 〜
@BioPackathon
skume
April 19, 2023
More Decks by skume
See All by skume
AI情報アップデート: Claude Coworkとは? そして、OpenClawとは?
skume
0
230
260212_データ分析もくもく会・AIxデータサイエンスコミュニティ2026
skume
0
89
2025年版 最新 AIグラス製品
skume
0
73
大阪AIハッカソン フォローアップ勉強会 : Vibe Coding勉強会 Day 2
skume
0
90
大阪AIハッカソン フォローアップ勉強会 : Vibe Coding勉強会 Day 1
skume
0
88
大阪AIハッカソン2025 Day 1 発表スライド
skume
0
120
データ分析 もくもく会 @ 大阪・京橋 / 天満 2025 #9.1
skume
0
67
データ分析 もくもく会 @ 大阪・京橋 / 天満 2025 #9.2
skume
0
71
250719_もくもく会_3Dモデル生成技術の現状と将来展望
skume
0
72
Other Decks in Programming
See All in Programming
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
350
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
570
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
130
sbt 2.0: takeoff
eed3si9n
0
110
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
650
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
3k
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
160
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
170
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
golang-bob.pdf
iwatsukayura
0
120
Agents on Rails - Rails at Scale 2026
irinanazarova
0
520
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
14
40k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
Unsuck your backbone
ammeep
672
58k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
620
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
260
Building Adaptive Systems
keathley
44
3.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
30 Presentation Tips
portentint
PRO
1
420
The Cost Of JavaScript in 2023
addyosmani
55
10k
Transcript
Satoshi Kume CRANパッケージの作成・投稿と コードレビュー対応 〜GoogleImage2Arrayパッケージでの事例紹介〜 211013 @ BioPackathon
今回の内容 ・ GoogleImage2Arrayパッケージの概要 ・ CRANへの投稿とコードレビュー対応 ・ RコードのTips: ・Exampleコードのラップ⽅法(donttest{} etc) ・サンプル実⾏時にローカル保存させない
・on.exit() ・ CRANでのコンパイルエラー
今回の内容 ・ GoogleImage2Arrayパッケージの概要 ・ CRANへの投稿とコードレビュー対応 ・ RコードのTips: ・Exampleコードのラップ⽅法(donttest{} etc) ・サンプル実⾏時にローカル保存させない
・on.exit() ・ CRANでのコンパイルエラー
https://cran.r-project.org/web/packages/GoogleImage2Array/index.html GoogleImage2Arrayパッケージ 主な⽤途: ・R上で使う画像取得全般 ・機械学習などで使うデータ GANとか分類問題とか 次元圧縮とか 概要: ・Google画像検索の結果をR に取り込んで、4次元アレイ形
式に変換する ・画像の可視化 ・ 4次元アレイの結合 (New)
R Array (アレイ, 配列) とは?? R Array/配列とは、⾏列を多次元に拡張したもの。 Matrix/⾏列: 2次元のデータ構造 Array/配列:
3次元、4次元、それ以上の次元のデータ構造。 http://venus.ifca.unican.es/Rintro/dataStruct.html 要素 ex. numeric
多次元テンソルの⼤まかな考え⽅ https://www.javatpoint.com/pytorch-tensors 要素 ex. numeric 2D画像の扱いは、 2D テンソル ?? 2D画像の扱いは、
・横ピクセル数 ・縦ピクセル数 ・チャネル(RGBなど原色数) ・画像の枚数
GoogleImage2Arrayパッケージでできること Google画像検索をすると 画像のサムネイルが表⽰される 検索 R アレイ/テンソル (20 images/query) 画像取得&変換 R上での可視化
(ラスター表⽰) 20 images以上取得したい場合 RSeleniumパッケッージを使うことに
実⾏コード アレイの取得: GoogleImage2array関数 (20, 幅ピクセル数, ⾼さピクセル数, チャネル数) アレイの結合 (1次元⽅向で) アレイの可視化:
display.array関数
GoogleImage2array関数の中⾝をちょっと説明 https://github.com/kumeS/GoogleImage2Array/blob/main/R/GoogleImage2array.R URL⽣成 + %エンコード 検索⾔語の指定 Webスクレイピング + 画像URL取得 画像処理、アレイへの変換
などの処理と続く 関数の引数 wh: 縦横ピクセル数 Col: カラー(T) or グレイ(F) Save: ローカル保存の有無 gl: 検索エリア指定
CRANへの投稿 https://cran.r-project.org/submit.html 必要事項の記載 gzファイルを選択 ここをクリック
CRANへの投稿(準備)について、詳しくは を参照のこと
CRANから本⼈確認メールが届く ココをクリック
次に、投稿完了のメールが届く
次に、CRANでのコンパイルが⾛る OKなら、レビューが始まる
約11時間後、、コードレビュー結果が返ってくる ハヤっ!! WebサービスのURLを概要 に⼊れてください。 コメントは4点 Exampleは、dontrun{}ではなく、 donttest{}を使ってください。 テストの途中ファイルをローカ ルに保存しないでください。 ユーザーの設定を変えない
でください。この場合、 on.exit()を使ってください。
修正して再投稿 〜投稿時と同じところで〜 https://cran.r-project.org/submit.html ココにレスポンス・ 修正点を書く。 論⽂のレスポンスレターというより、 カジュアルな返事でOK!!
次の⽇にOKメールが届く 同⽇中には、CRANに登録されていた。
今回の内容 ・ GoogleImage2Arrayパッケージの概要 ・ CRANへの投稿とコードレビュー対応 ・ RコードのTips: ・Exampleコードのラップ⽅法(donttest{} etc) ・サンプル実⾏時にローカル保存させない
・on.exit() ・ CRANでのコンパイルエラー
RコードのTips: Exampleコードのラップ⽅法/例外ルール https://runebook.dev/ja/docs/r/library/utils/html/example コードが本当に実⾏でき ない時だけ # Not run: ⾏を追記 (1)実⾏が5秒以上かかる
(2)途中でデータダウン ロードを実⾏する 実⾏が正常かつ5秒未満なら、unwrapする 結果として、サンプルコードは、 donttestか、unwrapを推奨
RコードのTips: ローカル保存させない https://github.com/kumeS/GoogleImage2Array/blob/main/R/GoogleImage2array.R デフォルト値が「Save=TRUE 」 になっていたのを突っ込まれる。 引数 wh: 縦横ピクセル数 Col:
カラー(T) or グレイ(F) Save: ローカル保存の有無 gl: 検索エリア指定 どうしても保存したい場合は、 tempdir()で作成される⼀時ディレ クトリに出⼒するようにとのこと。
RコードのTips: on.exit()を使って、ユーザーオプション (作図の設定 etc)を元に戻すこと。 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/31.html
RコードのTips: CRANでのコンパイルエラー CRANでは、毎回、コンパイル環境が違う? 1つくらいなら、Errorがでててもあまり気にしなくてもよそさそう。
RコードのTips: CRANでのコンパイルエラー CRANでは、毎回、コンパイル環境が違う? 1つくらいなら、Errorがでててもあまり気にしなくてもよそさそう。
まとめ ・ パッケージ作成 2⽇、投稿・レビュー・再投稿1.5⽇ => 今回、コードの下書きがあったので、 パッケージ化から3⽇程度で、CRANに採択された。 ・ コードレビューは、コードの中⾝というより CRANポリシーに合っているかどうかが審査される。
・ 普段のデータ解析⽤途では、気にしてないところを突っ込まれる