4.3 使用可能なConda環境をダウンロードして使用するためのOMLユーザー・タスク
ユーザーADMINがオブジェクト・ストレージに環境をインストールすると、OMLユーザーとして、ノートブックのR段落および埋込み実行でその環境をダウンロード、アクティブ化および使用できるようになります。
オブジェクト・ストレージに保持されているすべての環境のリスト
list-saved-envs
コマンドを使用して、オブジェクト・ストレージに保存された環境のリストを取得します。
%conda
list-saved-envs
オブジェクト・ストレージに保持されている名前付き環境に関する情報の取得
-e
パラメータの引数として環境名を指定し、環境に関する情報をリクエストします。
%conda
list-saved-envs -e myrenv
出力は、次のようなものです。
{
"name": "myrenv",
"size": "831.5 MiB",
"description": "Install R forecast and ggplot2 packages",
"tags": {
"application": "OML4R",
"user": "OMLUSER"
},
"number_of_installed_packages": 121
}
環境のダウンロードとアクティブ化
download
コマンドを使用して、オブジェクト・ストレージから環境をダウンロードします。ダウンロードした環境をアクティブ化するには、activate
コマンドを使用します。
ノート:
downloadコマンドが含まれる段落は、ノートブックの最初の段落である必要があります。%conda
download myrenv
activate myrenv
Downloading conda environment myrenv
Download successful for conda environment myrenv
環境で使用可能なパッケージのリスト
list
コマンドを使用して、アクティブな環境内の全パッケージのリストを取得します。
%conda
list
出力は、次のようなものです。
# packages in environment at /u01/.conda/envs/myrenv:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
_r-mutex 1.0.1 anacondar_1 conda-forge
binutils_impl_linux-64 2.39 h6ceecb4_0 conda-forge
bwidget 1.9.14 ha770c72_1 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
c-ares 1.18.1 h7f98852_0 conda-forge
ca-certificates 2022.9.24 ha878542_0 conda-forge
cairo 1.16.0 ha61ee94_1014 conda-forge
curl 7.86.0 h2283fc2_1 conda-forge
expat 2.5.0 h27087fc_0 conda-forge
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge
font-ttf-ubuntu 0.83 hab24e00_0 conda-forge
fontconfig 2.14.1 hc2a2eb6_0 conda-forge
fonts-conda-ecosystem 1 0 conda-forge
fonts-conda-forge 1 0 conda-forge
freetype 2.12.1 hca18f0e_0 conda-forge
fribidi 1.0.10 h36c2ea0_0 conda-forge
gcc_impl_linux-64 12.2.0 hcc96c02_19 conda-forge
gettext 0.21.1 h27087fc_0 conda-forge
gfortran_impl_linux-64 12.2.0 h55be85b_19 conda-forge
graphite2 1.3.13 h58526e2_1001 conda-forge
gsl 2.7 he838d99_0 conda-forge
gxx_impl_linux-64 12.2.0 hcc96c02_19 conda-forge
harfbuzz 5.3.0 h418a68e_0 conda-forge
icu 70.1 h27087fc_0 conda-forge
jpeg 9e h166bdaf_2 conda-forge
kernel-headers_linux-64 2.6.32 he073ed8_15 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
krb5 1.19.3 h08a2579_0 conda-forge
ld_impl_linux-64 2.39 hc81fddc_0 conda-forge
lerc 4.0.0 h27087fc_0 conda-forge
libblas 3.9.0 16_linux64_openblas conda-forge
libcblas 3.9.0 16_linux64_openblas conda-forge
libcurl 7.86.0 h2283fc2_1 conda-forge
libdeflate 1.14 h166bdaf_0 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libgcc-devel_linux-64 12.2.0 h3b97bd3_19 conda-forge
libgcc-ng 12.2.0 h65d4601_19 conda-forge
libgfortran-ng 12.2.0 h69a702a_19 conda-forge
libgfortran5 12.2.0 h337968e_19 conda-forge
libglib 2.74.1 h7a41b64_0 conda-forge
libgomp 12.2.0 h65d4601_19 conda-forge
libiconv 1.17 h166bdaf_0 conda-forge
liblapack 3.9.0 16_linux64_openblas conda-forge
libnghttp2 1.47.0 hff17c54_1 conda-forge
libopenblas 0.3.21 pthreads_h78a6416_3 conda-forge
libpng 1.6.38 h753d276_0 conda-forge
libsanitizer 12.2.0 h46fd767_19 conda-forge
libssh2 1.10.0 hf14f497_3 conda-forge
libstdcxx-devel_linux-64 12.2.0 h3b97bd3_19 conda-forge
libstdcxx-ng 12.2.0 h46fd767_19 conda-forge
libtiff 4.4.0 h55922b4_4 conda-forge
libuuid 2.32.1 h7f98852_1000 conda-forge
libwebp-base 1.2.4 h166bdaf_0 conda-forge
libxcb 1.13 h7f98852_1004 conda-forge
libxml2 2.10.3 h7463322_0 conda-forge
libzlib 1.2.13 h166bdaf_4 conda-forge
make 4.3 hd18ef5c_1 conda-forge
ncurses 6.3 h27087fc_1 conda-forge
openssl 3.0.7 h166bdaf_0 conda-forge
pango 1.50.11 h382ae3d_0 conda-forge
pcre2 10.37 hc3806b6_1 conda-forge
pixman 0.40.0 h36c2ea0_0 conda-forge
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
r-backports 1.4.1 r41h06615bd_1 conda-forge
r-base 4.1.3 h7880091_3 conda-forge
r-brio 1.1.3 r41h06615bd_1 conda-forge
r-callr 3.7.3 r41hc72bb7e_0 conda-forge
r-cli 3.4.1 r41h7525677_1 conda-forge
r-colorspace 2.0_3 r41h06615bd_1 conda-forge
r-crayon 1.5.2 r41hc72bb7e_1 conda-forge
r-curl 4.3.3 r41h06615bd_1 conda-forge
r-desc 1.4.2 r41hc72bb7e_1 conda-forge
r-diffobj 0.3.5 r41h06615bd_1 conda-forge
r-digest 0.6.30 r41h7525677_0 conda-forge
r-ellipsis 0.3.2 r41h06615bd_1 conda-forge
r-evaluate 0.18 r41hc72bb7e_0 conda-forge
r-fansi 1.0.3 r41h06615bd_1 conda-forge
r-farver 2.1.1 r41h7525677_1 conda-forge
r-forecast 8.18 r41h37cf8d7_0 conda-forge
r-fracdiff 1.5_2 r41h64d53c3_0 conda-forge
r-fs 1.5.2 r41h7525677_2 conda-forge
r-generics 0.1.3 r41hc72bb7e_1 conda-forge
r-ggplot2 3.4.0 r41hc72bb7e_0 conda-forge
r-glue 1.6.2 r41h06615bd_1 conda-forge
r-gtable 0.3.1 r41hc72bb7e_1 conda-forge
r-isoband 0.2.6 r41h7525677_1 conda-forge
r-jsonlite 1.8.3 r41h06615bd_0 conda-forge
r-labeling 0.4.2 r41hc72bb7e_2 conda-forge
r-lattice 0.20_45 r41h06615bd_1 conda-forge
r-lifecycle 1.0.3 r41hc72bb7e_1 conda-forge
r-lmtest 0.9_40 r41h8da6f51_1 conda-forge
r-magrittr 2.0.3 r41h06615bd_1 conda-forge
r-mass 7.3_58.1 r41h06615bd_1 conda-forge
r-matrix 1.5_1 r41h5f7b363_0 conda-forge
r-mgcv 1.8_41 r41h5f7b363_0 conda-forge
r-munsell 0.5.0 r41hc72bb7e_1005 conda-forge
r-nlme 3.1_160 r41h8da6f51_0 conda-forge
r-nnet 7.3_18 r41h06615bd_1 conda-forge
r-pillar 1.8.1 r41hc72bb7e_1 conda-forge
r-pkgconfig 2.0.3 r41hc72bb7e_2 conda-forge
r-pkgload 1.3.1 r41hc72bb7e_0 conda-forge
r-praise 1.0.0 r41hc72bb7e_1006 conda-forge
r-processx 3.8.0 r41h06615bd_0 conda-forge
r-ps 1.7.2 r41h06615bd_0 conda-forge
r-quadprog 1.5_8 r41hd009a43_4 conda-forge
r-quantmod 0.4.20 r41hc72bb7e_1 conda-forge
r-r6 2.5.1 r41hc72bb7e_1 conda-forge
r-rcolorbrewer 1.1_3 r41h785f33e_1 conda-forge
r-rcpp 1.0.9 r41h7525677_0 conda-forge
r-rcpparmadillo 0.11.4.2.1 r41h9f5de39_0 conda-forge
r-rematch2 2.1.2 r41hc72bb7e_2 conda-forge
r-rlang 1.0.6 r41h7525677_1 conda-forge
r-rprojroot 2.0.3 r41hc72bb7e_1 conda-forge
r-scales 1.2.1 r41hc72bb7e_1 conda-forge
r-testthat 3.1.5 r41h7525677_1 conda-forge
r-tibble 3.1.8 r41h06615bd_1 conda-forge
r-timedate 4021.106 r41hc72bb7e_1 conda-forge
r-tseries 0.10_52 r41hd009a43_0 conda-forge
r-ttr 0.24.3 r41h06615bd_1 conda-forge
r-urca 1.3_3 r41h8da6f51_0 conda-forge
r-utf8 1.2.2 r41h06615bd_1 conda-forge
r-vctrs 0.5.0 r41h7525677_0 conda-forge
r-viridislite 0.4.1 r41hc72bb7e_1 conda-forge
r-waldo 0.4.0 r41hc72bb7e_1 conda-forge
r-withr 2.5.0 r41hc72bb7e_1 conda-forge
r-xts 0.12.2 r41h06615bd_0 conda-forge
r-zoo 1.8_11 r41h06615bd_1 conda-forge
readline 8.1.2 h0f457ee_0 conda-forge
sed 4.8 he412f7d_0 conda-forge
sysroot_linux-64 2.12 he073ed8_15 conda-forge
tk 8.6.12 h27826a3_0 conda-forge
tktable 2.10 hb7b940f_3 conda-forge
xorg-kbproto 1.0.7 h7f98852_1002 conda-forge
xorg-libice 1.0.10 h7f98852_0 conda-forge
xorg-libsm 1.2.3 hd9c2040_1000 conda-forge
xorg-libx11 1.7.2 h7f98852_0 conda-forge
xorg-libxau 1.0.9 h7f98852_0 conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge
xorg-libxext 1.3.4 h7f98852_1 conda-forge
xorg-libxrender 0.9.10 h7f98852_1003 conda-forge
xorg-libxt 1.2.1 h7f98852_2 conda-forge
xorg-renderproto 0.11.1 h7f98852_1002 conda-forge
xorg-xextproto 7.3.0 h7f98852_1002 conda-forge
xorg-xproto 7.0.31 h7f98852_1007 conda-forge
xz 5.2.6 h166bdaf_0 conda-forge
zlib 1.2.13 h166bdaf_4 conda-forge
zstd 1.5.2 h6239696_4 conda-forge
例4-1 Conda環境でのパッケージの使用
次の例に、インストールしてアクティブ化した環境での使用可能なパッケージの使用を示します。
-
ライブラリをロードし、警告を抑制します。
%r library(ggplot2) library(forecast)
-
データをロードして準備します。
%r data("AirPassengers") # Through the end of 1956, no months in 1957 air.train <- window(AirPassengers, end = 1956+11/12) # everything in 1957 and beyond air.test <- window(AirPassengers, start = 1957) n.test <- length(air.test)
-
arimaモデルをデータに適合させ、パフォーマンスを計算します。
%r air.model <- auto.arima(air.train)
-
日ごとの複数ステップ予測を作成します
%r accuracy(air.model) air.multi.forecast <- air.model %>% forecast(h = n.test) air.multi.forecast %>% autoplot()
出力は、次のようなものです。
図4-1 日ごとの複数ステップ予測
-
テスト・データとパフォーマンスを比較します。
%r accuracy(air.multi.forecast, x = air.test) air.multi.forecast %>% autoplot() + geom_line( aes( x = as.numeric(time(air.test)), y = as.numeric(air.test) ), col = "red" )
この例の出力は次のようになります。
例4-2 関数を作成し、OML4Rスクリプト・リポジトリに保存
OML4Rでは、関数はEmbedded R Executionで実行できるように、文字列としてスクリプト・リポジトリに保存されます。関数multi.forecast
を作成し、関数が想定どおりに動作することを検証した後、OML4Rスクリプト・リポジトリに保存します。
%r
multi.forecast <- function() {
library(forecast)
library(ggplot2)
data("AirPassengers")
air.train <- window(AirPassengers, end = 1956+11/12)
air.test <- window(AirPassengers, start = 1957)
n.test <- length(air.test)
air.model <- auto.arima(air.train)
accuracy(air.model)
air.multi.forecast <- air.model %>% forecast(h = n.test)
air.multi.forecast %>% autoplot()
res <- accuracy(air.multi.forecast, x = air.test)
print(air.multi.forecast %>%
autoplot() + geom_line(
aes(x = as.numeric(time(air.test)), y = as.numeric(air.test)), col = "red"))
return(res)}
Rでユーザー定義関数を実行します。
%r
multi.forecast()
この例の出力は次のようになります。
Embedded R Execution用のR APIを使用してユーザー定義関数を実行します。
%r
ore.doEval(FUN=multi.forecast, ore.graphics=TRUE)
この例の出力は、次のようになります。
ore.scriptCreate
関数を使用して、1つのユーザー定義R関数をOML4Rスクリプト・リポジトリに格納します。パラメータ"multi.forecast"
は、ユーザー定義関数の名前を指定する文字列です。パラメータmulti.forecast
は、実行するR関数です。
%r
ore.scriptCreate("multi.forecast", multi.forecast, overwrite=TRUE)
埋込みR実行にR APIを使用して、スクリプト・リポジトリに保存したユーザー定義R関数を実行します。ユーザー定義関数を名前付きスクリプトとして参照して実行します
%r
ore.doEval(FUN.NAME="multi.forecast", ore.graphics=TRUE)
この例の出力は、次のようになります。
現在の環境の非アクティブ化
deactivate
コマンドを使用して、環境を非アクティブ化します。
ノート:
一度にサポートされるアクティブな環境は1つのみです。そのため、新しくアクティブ化された環境によって古い環境が置き換えられます。ベスト・プラクティスとして、ログオフする前に環境を非アクティブ化します。%conda
deactivate
Conda environment deactivated
親トピック: サードパーティ・パッケージのインストール