Cloudの無料枠が太っ腹(ただし初心者向きではない)AWS以外のクラウドには仮想マシンの無料枠があるAWSで構築したcan.ne.jpですが、維持費に毎月数ドルかかります。「AWSのメールマガジンで毎月バウチャーをもらえばホニャララ」という話もあるのですが、AWSでWebサイトを作ると初年無料を除けば基本的に有料です(2021年4月現在)。VM)を立てられます。クラウドに慣れる目的もあり、GCPとOCIの双方で仮想マシンを立ててみましたが、特にオラクルのOCIが太っ腹だったのでご紹介します。Freeコンピュート仮想マシン(VM)インスタンスです。ProcessorというCPUの1コアが割り当てられていました。最近のCPUは6コア12スレッドくらいあるので、その1コアぶんくらいでしょう。LightSailは最安プランではメモリが512MBしかありません。LightSailの最安プランはメモリが512MBしかないOCIの仮想マシンはメモリが2倍の1GBあるので、アクセス負荷への耐性がLightSailの最安プランよりずっと高いと思われます。今から自分がWordPressのブログサイトを作るなら、少し面倒でもOCIで自分で構築すると思います。GBのブート・ボリュームを自動的に受け取ります」との記述があり基本50GBです。Freeブロック・ボリューム・ストレージと、5つのボリューム・バックアップを受け取ります」とあるので、ブロックボリュームをアタッチすることで100GBまで拡張出来ると思われます。上のLightSailプランの5倍ですね......。7.9という独自Linuxが入ってしまいました。「特に理由が無いのに、よく知らないOSは使いたくない。面倒くさい」というのが本音です。UbuntuやCentOSも選べるらしいので、これからOCIを始める方はOS選びに気をつけて下さい。セキュリティ周りが面倒くさい(間違ってはいないけど)OCIでインスタンスを作ると、他社とは異なりデフォルトでファイアウォールが有効になっています。ファイアウォールを設定してポート開放しないとWebサイトすら公開出来ないので、初心者向きではありません。言え、セキュリティの問題はサイトを公開する以上は避けて通れないので、敢えて苦しんで設定してみるのも良いかと思います。AWSやGCPには標準で備わっている『Webブラウザ版のSSHクライアント』が無い(ような)ので、RLoginなどのSSHクライアントをインストールするかシェル版のsshを長いコマンドを打って起動する必要があります。いった「とっつきやすさ」では、OCIはまだAWSやGCPより一歩遅れているように思います。【追記】ufwでポートが開かない問題、私も遭遇しました😭OCIでのポート開放で、「ufwを用いてポートを開放できない問題に遭遇」する問題に私も遭遇しました。1つ目のインスタンスにLogstashを入れたところ凄いメモリ食いでメモリ1GBでもフリーズが頻発。他のサーバーを落としてOCIのサイトを見ていたところ「2つのAMDコンピュートVM」との記述を発見。「Oracleどんだけ太っ腹なんだ」と思いつつ2個めを立ち上げたところ、SSLが開きません。セキュリティーグループを作りイングレスを設定しても無反応。「これはインスタンス内部の問題か?」と思いufwを設定するも無反応。Cloud上だとufwはバグっているのでiptablesをいじってポート開放すればいいです。viasnake.comとの超ありがたい記述が。こんなんわかんねえよ先に言っといてくれよOCIさん😭😭😭......というわけでサイトの記述に従ってiptablesを直接書き換えて無事解決しました。ufwは幅広く使われているのでポート開放でドハマりしたUbuntuユーザーは少なくないはず。不具合に対処するか、せめて「ufw使うな」と公式に書いておいてほしかったです。NotebookをWordPressに転記するのはツライ......ということでコピペする方法を探してみたところ、nbconvertを使う方法が良さそうです。gstore-cust-revenue-prediction.ipynb生成されたHTMLから該当セルをWebブラウザーのインスペクター(F12キーを押下)でコピーし、WordPressのカスタムHTMLブロックに貼り込みます。Notebookセル用のCSSを追加します(リンク先ページのソースを参照のこと)。/home/masaru/data/kaggle_google_analytics/test_v2.csv/home/masaru/data/kaggle_google_analytics/submission.csv/home/masaru/data/kaggle_google_analytics/deep-learning-keras-ga-revenue-prediction.ipynb/home/masaru/data/kaggle_google_analytics/gstore-cust-revenue-prediction.ipynb/home/masaru/data/kaggle_google_analytics/ga-customer-revenue-prediction.zip/home/masaru/data/kaggle_google_analytics/test.csv/home/masaru/data/kaggle_google_analytics/sample_submission_v2.csv/home/masaru/data/kaggle_google_analytics/GoogleAnalytics_Customer_Revenue_EDA_and_Prediction.ipynb/home/masaru/data/kaggle_google_analytics/sample_submission.csv/home/masaru/data/kaggle_google_analytics/train_v2.csv/home/masaru/data/kaggle_google_analytics/train.csv/home/masaru/data/kaggle_google_analytics/.ipynb_checkpoints/gstore-cust-revenue-prediction-checkpoint.ipynb/home/masaru/data/kaggle_google_analytics/.ipynb_checkpoints/GoogleAnalytics_Customer_Revenue_EDA_and_Prediction-checkpoint.ipynb無事、表示出来ました。CUDAドライバで大丈夫でしたまず最初にお断りですが、私はTensorflowの技術的な詳細やディープラーニングの技術については知識が全くありません。単なるインストールログですので、技術的なご期待にはお答え出来ません。GPUは動かないのではないかと思っていましたが、実際はcuda_11.2.2_460.32.03_linux.runがすんなり動きました。Notebookでの作業となります。len(tf.config.list_physical_devices('GPU'))print(gpu_num)1勉強会でみんな大好きiris、titanic、mnistを今さらやっても得られるものは無さそうなので、文系の私でも興味を持てそうなサンプルコードを見つけて実行してみようと思います。13を操作するまずは堅実に定番RDBからNoSQLブームで勉強会界隈では影が薄れた感があるRDBMSですが、当たり前の存在になっただけで健在です。当サイトが使っているCMS『WordPress』にはMySQLが組み込まれていますし、当サイトを置いているAWSでもPostgreSQLがRedShiftやAuroraなど基幹サービスで使われています。統計モデリングを知らないのにディープラーニングでイキる人が信用出来ないのと同様、RDBMSを知らないのにNoSQLを語るのもイタい人です。Igniteなどの分散データベースにハマっていましたが、自分のイタさに気づいたためPostgreSQLを学び直しています。NoSQLや分散データベースを業務で使いこなしている方々の講演は勉強会で聞くことが出来ますが、彼らは「RDBMSを経験した上でNoSQLに進んでいる」のです。未経験者が講演を聞いていきなりNoSQLに行くのは『悪手』です。初心者がNoSQLや分散RDBでやりたいことはPostgreSQLでも出来ているNoSQLが主に扱うJSONはPosgreSQLでも『JSON型』として扱えます。IMDBで話題となったインメモリ処理はPostgreSQLでも駆使されています。分散データベースの特徴であるクエリの並列処理はPostgreSQLでもパラレルクエリとして実装されている上、特別の設定無しで自動的に使ってくれます。IgniteでPCサーバ5台のクラスタを構築しましたが、数10GB程度のデータではクエリに要する時間がシングルノードのPostgreSQLの方が速かったです。2.5GbEでもLANの遅延で並列処理のメリットが相殺されてしまいます。この規模のデータでクエリを高速化するなら、32コア64スレッドのパソコンでも買えば良いと思います。いう事実は、基本的すぎて勉強会ではなかなか教えてもらえないですね。エンジニアの方にとっては常識なのでしょうが......💦PythonでPostgreSQLを扱うパッケージ『psycopg2』PythonでPostgreSQLを扱う際は『psycopg2』というパッケージを使うのが一般的なようです。視覚化のためのパッケージ『Plotly』と併せてインストールします。必要なパッケージの読み込みなどの初期設定を行います。init_notebook_modeinit_notebook_mode()psychopg2でデータベース接続を定義します。con続いて、クエリを定義します。rows定義したクエリを実行します。sql)クエリの結果をPandasデータフレームに代入します。pd.DataFrame(result)df.head()とりあえず全部カラム名をつけてあげます。columnsdf.head()Plotlyで表示するデータを設定します。trace2]続いて、Plotlyの特長であるスライダーを設定します。))グラフを描画します。layout=layout)iplot(fig)スライダーを動かせるグラフの出来上がりです。13、psycopg2、PythonKaggleのデータをコンペ以外の目的で利用するデータサイエンティストに敵わないからといって避けて通るのはもったいないKaggleはコンペティションで有名なため「データサイエンティスト以外はお断り」というイメージがあります。優秀な方々に及ばないことが分かっていてもKaggleを避けて通るのはもったいないと思います。BIツールの学習など、実務寄りのデータがほしい機会は多くあります。Kaggleにどのようなデータがあるか知っていれば、目的に近いデータを入手出来ます。マーケティング分野のデータは企業秘密の塊であり一般公開されることが少ないため、Kaggleのデータはとても貴重なものです。spend」をご紹介します。実在するEコマースサイトのアクセスログこのコンペはRStudio社の主催で、GoogleのEコマースサイト『GStore』のセッション単位のアクセスログが約33GB、提供されています。CSVのカラムにJSON風のデータが詰め込まれていて処理が手強いですが、BIツールの基本である日次統計にもってこいです。参考書籍などで数10GBのデータを扱っている例は見たことがありませんが、これくらいのサイズがなければExcelで十分であり、データベースやBIツール、データ分析基盤などのスケーラビリティを試すなら最低でもGB単位のデータが必要です。昨年はこのCSVデータを自力での展開を試みましたが、データ構造が複雑なため簡単な置換処理ではテーブル構造に出来ませんでした。今年は先達の方のnotebookなどを参考にして、まずはPostgreSQLへのデータ格納までたどり着きたいと考えています。他の方から学べるのもkaggleの良いところですね。2当サイトではPayPay送金による寄付をお願いしております。記事が役に立ったら100円でも結構ですのでお送り頂けると嬉しいです。WordPress.。