Submit Search
Upload
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
•
0 likes
•
114 views
Satoshi Kume
Follow
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @BioPackathon
Read less
Read more
Technology
Report
Share
Report
Share
1 of 24
Download now
Download to read offline
Recommended
OSS Product feat. Gradle
OSS Product feat. Gradle
Yasuharu Nakano
Jjug 20140430 gradle_basic
Jjug 20140430 gradle_basic
Takuma Watabiki
Gradle入門
Gradle入門
orekyuu
Androidアプリのリバースエンジニアリング
Androidアプリのリバースエンジニアリング
Shuichi Takaya
Gws 20141024 gradle_intro
Gws 20141024 gradle_intro
Nobuhiro Sue
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
Groovy base gradle_20130309
Groovy base gradle_20130309
Nobuhiro Sue
Gradle handson
Gradle handson
Nemoto Yusuke
Recommended
OSS Product feat. Gradle
OSS Product feat. Gradle
Yasuharu Nakano
Jjug 20140430 gradle_basic
Jjug 20140430 gradle_basic
Takuma Watabiki
Gradle入門
Gradle入門
orekyuu
Androidアプリのリバースエンジニアリング
Androidアプリのリバースエンジニアリング
Shuichi Takaya
Gws 20141024 gradle_intro
Gws 20141024 gradle_intro
Nobuhiro Sue
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
Groovy base gradle_20130309
Groovy base gradle_20130309
Nobuhiro Sue
Gradle handson
Gradle handson
Nemoto Yusuke
Jjug 20140430 gradle_advanced
Jjug 20140430 gradle_advanced
Masatoshi Hayashi
Laravelのパッケージのテストに便利なパッケージ
Laravelのパッケージのテストに便利なパッケージ
Yuta Nagamiya
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
Uehara Junji
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
Yuuki Takezawa
Gradleどうでしょう
Gradleどうでしょう
Takuma Watabiki
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Takuma Watabiki
Maven2 プラグイン入門
Maven2 プラグイン入門
guestd4898b
Spekではじめるユニットテスト
Spekではじめるユニットテスト
Recruit Lifestyle Co., Ltd.
Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3
Uehara Junji
Introduce build in shrinker
Introduce build in shrinker
Daisuke Fuji
明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
こんな辛いテストはいやだ
こんな辛いテストはいやだ
Takuya Mikami
OCaml でデータ分析
OCaml でデータ分析
Akinori Abe
React Native GUIDE
React Native GUIDE
dcubeio
Haikara
Haikara
jewel12
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
20120421中国gtug
20120421中国gtug
Yusuke Sato
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Toshimichi Suekane
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
Kazuhiro Hara
GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティス
Toshiki Tsuboi
Cryogenでサイトつくろーじぇん
Cryogenでサイトつくろーじぇん
Kazuhiro Hara
More Related Content
What's hot
Jjug 20140430 gradle_advanced
Jjug 20140430 gradle_advanced
Masatoshi Hayashi
Laravelのパッケージのテストに便利なパッケージ
Laravelのパッケージのテストに便利なパッケージ
Yuta Nagamiya
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
Uehara Junji
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
Yuuki Takezawa
Gradleどうでしょう
Gradleどうでしょう
Takuma Watabiki
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Takuma Watabiki
Maven2 プラグイン入門
Maven2 プラグイン入門
guestd4898b
Spekではじめるユニットテスト
Spekではじめるユニットテスト
Recruit Lifestyle Co., Ltd.
Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3
Uehara Junji
What's hot
(9)
Jjug 20140430 gradle_advanced
Jjug 20140430 gradle_advanced
Laravelのパッケージのテストに便利なパッケージ
Laravelのパッケージのテストに便利なパッケージ
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
Gradleどうでしょう
Gradleどうでしょう
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Maven2 プラグイン入門
Maven2 プラグイン入門
Spekではじめるユニットテスト
Spekではじめるユニットテスト
Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3
Similar to CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
Introduce build in shrinker
Introduce build in shrinker
Daisuke Fuji
明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
こんな辛いテストはいやだ
こんな辛いテストはいやだ
Takuya Mikami
OCaml でデータ分析
OCaml でデータ分析
Akinori Abe
React Native GUIDE
React Native GUIDE
dcubeio
Haikara
Haikara
jewel12
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
20120421中国gtug
20120421中国gtug
Yusuke Sato
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Toshimichi Suekane
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
Kazuhiro Hara
GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティス
Toshiki Tsuboi
Cryogenでサイトつくろーじぇん
Cryogenでサイトつくろーじぇん
Kazuhiro Hara
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイ
Kazuhiro Hara
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
RgGen ご紹介
RgGen ご紹介
Taichi Ishitani
Pythonで検索エンジン2
Pythonで検索エンジン2
Yasukazu Kawasaki
Scalaで始める競技プログラミング
Scalaで始める競技プログラミング
HAYATO KOKUBU
初めてのPadrino
初めてのPadrino
Takeshi Yabe
Scalaで実装するGC
Scalaで実装するGC
NISHIMOTO Keisuke
Similar to CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
(20)
Introduce build in shrinker
Introduce build in shrinker
明日から使えるgradle
明日から使えるgradle
こんな辛いテストはいやだ
こんな辛いテストはいやだ
OCaml でデータ分析
OCaml でデータ分析
React Native GUIDE
React Native GUIDE
Haikara
Haikara
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
20120421中国gtug
20120421中国gtug
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティス
Cryogenでサイトつくろーじぇん
Cryogenでサイトつくろーじぇん
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイ
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
RgGen ご紹介
RgGen ご紹介
Pythonで検索エンジン2
Pythonで検索エンジン2
Scalaで始める競技プログラミング
Scalaで始める競技プログラミング
初めてのPadrino
初めてのPadrino
Scalaで実装するGC
Scalaで実装するGC
More from Satoshi Kume
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
Satoshi Kume
230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf
Satoshi Kume
20230314_R-universe.pdf
20230314_R-universe.pdf
Satoshi Kume
211204_japan_r_v01
211204_japan_r_v01
Satoshi Kume
211104 Bioc Asia workshop
211104 Bioc Asia workshop
Satoshi Kume
Exchange program 071128
Exchange program 071128
Satoshi Kume
D3 slides (Satoshi Kume)
D3 slides (Satoshi Kume)
Satoshi Kume
AI学会 合同研究会2020 発表スライド (201120)
AI学会 合同研究会2020 発表スライド (201120)
Satoshi Kume
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
Satoshi Kume
Openlink Virtuoso v01
Openlink Virtuoso v01
Satoshi Kume
201209 Biopackathon 12th
201209 Biopackathon 12th
Satoshi Kume
201126 Wikidata クラス階層 SPARQL検索
201126 Wikidata クラス階層 SPARQL検索
Satoshi Kume
201111_biopackathon_11th_v00pre
201111_biopackathon_11th_v00pre
Satoshi Kume
200612_BioPackathon_ss
200612_BioPackathon_ss
Satoshi Kume
How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0
Satoshi Kume
CentOS_slide_ver1.0
CentOS_slide_ver1.0
Satoshi Kume
R_note_ODE_ver1.0
R_note_ODE_ver1.0
Satoshi Kume
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
Satoshi Kume
R_note_02_ver1.0
R_note_02_ver1.0
Satoshi Kume
R note 01_ver1.2
R note 01_ver1.2
Satoshi Kume
More from Satoshi Kume
(20)
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf
20230314_R-universe.pdf
20230314_R-universe.pdf
211204_japan_r_v01
211204_japan_r_v01
211104 Bioc Asia workshop
211104 Bioc Asia workshop
Exchange program 071128
Exchange program 071128
D3 slides (Satoshi Kume)
D3 slides (Satoshi Kume)
AI学会 合同研究会2020 発表スライド (201120)
AI学会 合同研究会2020 発表スライド (201120)
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
Openlink Virtuoso v01
Openlink Virtuoso v01
201209 Biopackathon 12th
201209 Biopackathon 12th
201126 Wikidata クラス階層 SPARQL検索
201126 Wikidata クラス階層 SPARQL検索
201111_biopackathon_11th_v00pre
201111_biopackathon_11th_v00pre
200612_BioPackathon_ss
200612_BioPackathon_ss
How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0
CentOS_slide_ver1.0
CentOS_slide_ver1.0
R_note_ODE_ver1.0
R_note_ODE_ver1.0
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
R_note_02_ver1.0
R_note_02_ver1.0
R note 01_ver1.2
R note 01_ver1.2
Recently uploaded
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Recently uploaded
(8)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
1.
Satoshi Kume CRANパッケージの作成・投稿と コードレビュー対応 〜GoogleImage2Arrayパッケージでの事例紹介〜 211013 @
BioPackathon
2.
今回の内容 ・ GoogleImage2Arrayパッケージの概要 ・ CRANへの投稿とコードレビュー対応 ・
RコードのTips: ・Exampleコードのラップ⽅法(donttest{} etc) ・サンプル実⾏時にローカル保存させない ・on.exit() ・ CRANでのコンパイルエラー
3.
今回の内容 ・ GoogleImage2Arrayパッケージの概要 ・ CRANへの投稿とコードレビュー対応 ・
RコードのTips: ・Exampleコードのラップ⽅法(donttest{} etc) ・サンプル実⾏時にローカル保存させない ・on.exit() ・ CRANでのコンパイルエラー
4.
https://cran.r-project.org/web/packages/GoogleImage2Array/index.html GoogleImage2Arrayパッケージ 主な⽤途: ・R上で使う画像取得全般 ・機械学習などで使うデータ GANとか分類問題とか 次元圧縮とか 概要: ・Google画像検索の結果をR に取り込んで、4次元アレイ形 式に変換する ・画像の可視化 ・ 4次元アレイの結合 (New)
5.
R Array (アレイ,
配列) とは?? R Array/配列とは、⾏列を多次元に拡張したもの。 Matrix/⾏列: 2次元のデータ構造 Array/配列: 3次元、4次元、それ以上の次元のデータ構造。 http://venus.ifca.unican.es/Rintro/dataStruct.html 要素 ex. numeric
6.
多次元テンソルの⼤まかな考え⽅ https://www.javatpoint.com/pytorch-tensors 要素 ex. numeric 2D画像の扱いは、 2D テンソル
?? 2D画像の扱いは、 ・横ピクセル数 ・縦ピクセル数 ・チャネル(RGBなど原色数) ・画像の枚数
7.
GoogleImage2Arrayパッケージでできること Google画像検索をすると 画像のサムネイルが表⽰される 検索 R アレイ/テンソル (20 images/query) 画像取得&変換 R上での可視化 (ラスター表⽰) 20
images以上取得したい場合 RSeleniumパッケッージを使うことに
8.
実⾏コード アレイの取得: GoogleImage2array関数 (20, 幅ピクセル数,
⾼さピクセル数, チャネル数) アレイの結合 (1次元⽅向で) アレイの可視化: display.array関数
9.
GoogleImage2array関数の中⾝をちょっと説明 https://github.com/kumeS/GoogleImage2Array/blob/main/R/GoogleImage2array.R URL⽣成 + %エンコード 検索⾔語の指定 Webスクレイピング +
画像URL取得 画像処理、アレイへの変換 などの処理と続く 関数の引数 wh: 縦横ピクセル数 Col: カラー(T) or グレイ(F) Save: ローカル保存の有無 gl: 検索エリア指定
10.
CRANへの投稿 https://cran.r-project.org/submit.html 必要事項の記載 gzファイルを選択 ここをクリック
11.
CRANへの投稿(準備)について、詳しくは を参照のこと
12.
CRANから本⼈確認メールが届く ココをクリック
13.
次に、投稿完了のメールが届く
14.
次に、CRANでのコンパイルが⾛る OKなら、レビューが始まる
15.
約11時間後、、コードレビュー結果が返ってくる ハヤっ!! WebサービスのURLを概要 に⼊れてください。 コメントは4点 Exampleは、dontrun{}ではなく、 donttest{}を使ってください。 テストの途中ファイルをローカ ルに保存しないでください。 ユーザーの設定を変えない でください。この場合、 on.exit()を使ってください。
16.
修正して再投稿 〜投稿時と同じところで〜 https://cran.r-project.org/submit.html ココにレスポンス・ 修正点を書く。 論⽂のレスポンスレターというより、 カジュアルな返事でOK!!
17.
次の⽇にOKメールが届く 同⽇中には、CRANに登録されていた。
18.
今回の内容 ・ GoogleImage2Arrayパッケージの概要 ・ CRANへの投稿とコードレビュー対応 ・
RコードのTips: ・Exampleコードのラップ⽅法(donttest{} etc) ・サンプル実⾏時にローカル保存させない ・on.exit() ・ CRANでのコンパイルエラー
19.
RコードのTips: Exampleコードのラップ⽅法/例外ルール https://runebook.dev/ja/docs/r/library/utils/html/example コードが本当に実⾏でき ない時だけ # Not
run: ⾏を追記 (1)実⾏が5秒以上かかる (2)途中でデータダウン ロードを実⾏する 実⾏が正常かつ5秒未満なら、unwrapする 結果として、サンプルコードは、 donttestか、unwrapを推奨
20.
RコードのTips: ローカル保存させない https://github.com/kumeS/GoogleImage2Array/blob/main/R/GoogleImage2array.R デフォルト値が「Save=TRUE 」 になっていたのを突っ込まれる。 引数 wh:
縦横ピクセル数 Col: カラー(T) or グレイ(F) Save: ローカル保存の有無 gl: 検索エリア指定 どうしても保存したい場合は、 tempdir()で作成される⼀時ディレ クトリに出⼒するようにとのこと。
21.
RコードのTips: on.exit()を使って、ユーザーオプション (作図の設定 etc)を元に戻すこと。 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/31.html
22.
RコードのTips: CRANでのコンパイルエラー CRANでは、毎回、コンパイル環境が違う? 1つくらいなら、Errorがでててもあまり気にしなくてもよそさそう。
23.
RコードのTips: CRANでのコンパイルエラー CRANでは、毎回、コンパイル環境が違う? 1つくらいなら、Errorがでててもあまり気にしなくてもよそさそう。
24.
まとめ ・ パッケージ作成 2⽇、投稿・レビュー・再投稿1.5⽇ =>
今回、コードの下書きがあったので、 パッケージ化から3⽇程度で、CRANに採択された。 ・ コードレビューは、コードの中⾝というより CRANポリシーに合っているかどうかが審査される。 ・ 普段のデータ解析⽤途では、気にしてないところを突っ込まれる
Download now