kenkento6's blog

データ分析、技術的試行錯誤、オンライン大学院生活にまつわることを書きます

Ubuntu(WSL2)内に立ち上げたDocker環境のJupyter Notebookへローカル(Windows)からアクセスする方法

Ubuntu(WSL2)内に立ち上げたDocker環境のJupyter Notebookへローカル(Windows)からアクセスするための忘備録です。
接続のイメージは以下。

STEP1 DockerからUbuntu(wsl2)にport forwardする

まずUbuntuから接続できるようにするために、コンテナ内のポートをホストに公開する

docker run -p host-port:vm-port image

vm-port: コンテナ内のポート
host-port: Dockerホストのポート

Jupyter notebookの場合

docker run -p 8888:8888 image

STEP2 ローカル(Windows)からUbuntu(WSL2)のポートにアクセスする

Option1 localhost:8888にアクセスする

驚いたのだが、localhostにアクセスすればそのままWSL2のポートにアクセスできる。
WSL を使用したネットワーク アプリケーションへのアクセス | Microsoft Learn

なので、localhost:8888にアクセスすればWSLの8888にアクセスでき、jupyter notebookが開ける。wsl2ではwslconfigでの設定は不要らしい。

Option2 WSL2にSSH接続し、その際にport fowardingする

最初Option1でできると思っていなかったので、考え付いたのはWSL2にsshにしてその際にport forwardingを設定することだった。

まず以下の記事を参照しWSL2へSSH接続するために公開鍵認証の設定をした。
WSL2のUbuntuにSSH(公開鍵/秘密鍵)で接続する - Qiita

SSH接続の際に、localhost:8888とUbuntu(WSL2)内の8888をリンクさせる。

ssh -L 8888:localhost:8888 -i ~/.ssh/id_rsa username@xxx.xxx.xxx.xxx

WSL2のIPアドレスは、windowsコマンドプロンプトから以下のコマンドで調べる。

wsl -e hostname -I

このIPアドレスは固定ではないらしいので、このoptionを使う場合には何か固定する方法が必要かも。
VSCodeSSH接続を設定しておいて、VSCodeのPortでlocalhostにforwardする設定をやっておくとコマンドを打つ必要がなくてすごい楽。

VSCode port

海外大学院オンラインCS/DS/BA課程リスト

こちらのnoteでも書いたが、昨年の4月ごろにオンラインCS/DS/BA系大学院へ通うことを考え始め、まず最初に候補の大学院をリストアップした。

普段はデータ系のエンジニアとして働いているため、データアナリティクス、データサイエンス、データエンジニアリングを学べるCS/DS/BAコースを幅広くリストアップした。最終的にはCSコースに出願した。

以下に記載の情報は、2021年4月時点で私が見つけたコースの中から自分がよさそうと思った学校をリストアップしたものです。あくまでも参考程度にとどめてください。各人が学びたい内容によってリストは異なると思います。またこちらに記載の情報は不正確な可能性があります。正確な情報は各校のHPを確認してください。

 

リスト

CS(Computer Science)系
school type degree TTL Cost Tuition / Credit Credit Estimated TTL tuition link
Georgia Institute of Technology CS Online Master of Science in Computer Science $8,000 $180 30 $5,400 https://pe.gatech.edu/degrees/computer-science
University of Illinois Urbana - Champaign CS online Master of Computer Science $21,440 $670 32 $21,440 https://online.illinois.edu/online-programs/graduate-programs/computer-science
Stanford University CS Master of Science in Computer Science   $1,352 45 $60,840 https://online.stanford.edu/programs/computer-science-ms-degree
Illinois Institute of Technology CS Master of Science in Computer Science   $1,614 32 $51,648 https://www.iit.edu/academics/programs/computer-science-ms
Purdue University CS Master of Science in Computer and IT (Business Analysis)         https://polytechnic.purdue.edu/degrees/ms-it-business-analysis-online?_ga=2.33331899.481187118.1607144943-1627356729.1607144943
The University of Texas at Austin  CS Master of Science in Conputer Science $10,000 $333 30 $9,990 https://www.cs.utexas.edu/graduate-program/masters-program/msonline
University of Southern California CS Master of Science in Computer Science $66,400 $2,148 32 $68,736 https://online.usc.edu/programs/computer-science-ms/
Johns Hopkins University CS Master of Science in Computer Science         https://e-catalogue.jhu.edu/engineering/engineering-professionals/computer-science/computer-science-master/#text
Arizona State University CS Master of Conputer Science $15,000       https://asuonline.asu.edu/online-degree-programs/graduate/computer-science-mcs/
Arizona State University CS Master of Computer Science (Big Data Systems) $15,000       https://asuonline.asu.edu/online-degree-programs/graduate/master-big-data/
DS(Data Science)系
school type degree TTL Cost Tuition / Credit Credit Estimated TTL tuition link
Georgia Institute of Technology DS Online Master of Science in Analytics $8,000 $275 30 $8,250 https://pe.gatech.edu/degrees/analytics
University of California - Berkeley DS Online Master of Information and Data Science $72,900 $2,712     https://ischoolonline.berkeley.edu/data-science/
University of Michigan DS Master of Applied Data Science $42,262 $1,267 34 $43,078 https://www.si.umich.edu/programs/master-applied-data-science-online
University of Illinois Urbana - Champaign DS online Master of Computer Science in Data Science $21,440 $670 32 $21,440 https://online.illinois.edu/online-programs/graduate-programs/computer-science---data-science
Stanford University DS Master of Science in Statistics   $1,352 45 $60,840 https://online.stanford.edu/programs/statistics-ms-degree
Illinois Institute of Technology DS Master of Data Science   $1,614 32 $51,648 https://www.iit.edu/academics/programs/data-science-mas
The University of Texas at Austin  DS Master of Science in Data Science $10,000 $333 30 $9,990 https://ms-datascience.utexas.edu/
Imperial College London DS Master of Science in Machine Learning and Data Science $30,000       https://www.imperial.ac.uk/study/pg/mathematics/machine-learning/
University of Southern California DS Master of Science in Applied Data Science $66,400 $2,148 32 $68,736 https://online.usc.edu/programs/master-of-science-in-applied-data-science/
University of Southern California DS Master of Science in Computer Science (Data Science) $66,400 $2,148 32 $68,736 https://online.usc.edu/programs/master-of-science-in-computer-science-data-science/
Boston University DS Online Master of Science in Applied Data Analytics $20,000 $925 32 $29,600 https://www.bu.edu/online/programs/graduate-programs/applied-data-analytics-masters-degree/
Johns Hopkins University DS Master of Science in Data Science   $1,532   $45,950 https://e-catalogue.jhu.edu/engineering/engineering-professionals/data-science/data-science-master/
Northwestern University DS Master of Science in Data Science         https://sps.northwestern.edu/masters/data-science/
University of Virginia DS Master of Science in Data Science   $1,304 32 $41,728 https://onlinedatasciencemasters.virginia.edu/
University of California - Riverside DS Master of Science in Engineering, Data Science $29,988 $875 36 $31,500 https://engineeringonline.ucr.edu/data-science/
University of Colorado Boulder DS Master of Science in Data Science $20,010        
University of Wisconsin DS Master of science in data Science   $850 36 $30,600 https://datasciencedegree.wisconsin.edu/
University of Maryland DS Master of Science in data analytics   $694 36 $24,984 https://www.umgc.edu/academic-programs/masters-degrees/data-analytics.cfm
BA(Business Analytics)系
school type degree TTL Cost Tuition / Credit Credit Estimated TTL tuition link
Carnegie Mellon University BA/MBA Master of Science in Business Analytics $69,495     $66,820 https://analytics.tepper.cmu.edu/curriculum/
University of Michigan BA/MBA Online MBA         https://www.online.umich.edu/online-degrees/online-mba/
University of Illinois Urbana - Champaign BA/MBA iMBA         https://online.illinois.edu/online-programs/graduate-programs/imba
Illinois Institute of Technology BA/MBA online MBA         https://www.iit.edu/academics/programs/business-administration-online-accelerated-mba
Purdue University BA/MBA Online Master of Science in Business Analytics $32,064   30   https://krannert.purdue.edu/online/ms-business-analytics/?utm_campaign=MS+Business+Analytics&utm_medium=bitly&utm_source=Website
Imperial College London BA/MBA Master of Science in Business Analytics $40,000       https://www.imperial.ac.uk/business-school/programmes/msc-business-analytics/
Boston University BA/MBA Online Master of Science in Applied Business Analytics $20,000 $925 40 $37,000 https://www.bu.edu/online/programs/graduate-programs/applied-business-analytics/
Ohio University BA/MBA Online Master of Business Analytics       $35,820 https://onlinemasters.ohio.edu/college-of-business/masters-business-analytics/
University of Virginia BA/MBA Master of Science in Business Analytics $63,742       https://msba.virginia.edu/
Arizona State University BA/MBA Master of Science in Business Analytics $36,500 $543 30 $16,290 https://asuonline.asu.edu/online-degree-programs/graduate/master-science-business-analytics/
Stevens Institute of Technology BA/MBA Master of Science in Business Intelligence and Analytics   $1,686     https://www.stevens.edu/academics/stevensonline/available-programs/school-business/business-intelligence-analytics
Stevens Institute of Technology BA/MBA Master of Science in Financial Analysis         https://www.stevens.edu/academics/stevensonline/available-programs/school-business/financial-analytics
Stevens Institute of Technology BA/MBA Master of Science in Data Science   $1,686 30 $50,580 https://online.stevens.edu/online-masters-data-science-msds/

感想

上記のリストから各コースの大まかな内容、学費、知名度などを基準に10コースに絞り込んだ。そこからカリキュラムなどを細かく調査し、最終的に3コースに出願した。

日本にはオンラインの修士課程はほぼないと思うが、海外(特にアメリカ)だと選択肢が多すぎて逆に絞り込むのに苦労した。特にDS系は充実している印象。

CSは最近人気が出すぎて進学がかなり難しいとも聞くので、私のように学部がCSではないがCSを勉強したい人間にとってオンラインの修士号は検討に値するいい選択肢なのではないかと思う。*1

 

 

 

 

*1:私が進学したGeorgia Tech CS MasterのOn Campusの合格率は10%台だが、オンラインコースは70%以上とも聞く。

Windows11+AMD Radeon GPUにDirectML(DirectX+WSL2)を利用したTensorFlow/Pytorch環境をセットアップした

概要

Deep Learningで遊んでみようと思いGPUを搭載したが、NVIDIAでなくAMDなのでCMUが使えない。
Windowsが提供するAPIのDirectMLだとWindows/WSL上で動き、DirectX12を利用してAMD GPUにアクセスできるらしいので試してみた。環境はWSL上で構築した。
docs.microsoft.com
docs.microsoft.com

Kernelのアップデート

前回WSLセットアップの際にコマンドで入れたkernelは5.10.16.3で、今回使用するDirectMLに対応していなかった。以下のコマンドでLinux Kernelをアップデートした。

wsl --update

5.10.102.1にアップデートされた。

DirectML

実行した手順はMicrosoftのページの通り。いずれもpipで必要なdirectmlパッケージを導入するだけ。

TensorFlow with DirectML

TensorFlow1とTensorFlow2があるのでどちらも試した。
docs.microsoft.com
docs.microsoft.com

PyTorch with DirectML

docs.microsoft.com


感想

AMD Radeon GPU&Windows(WSL)でもGPUを用いたDeep Learninigの環境をセットアップすることが出来た。Windows上のWSLからGPUを利用できて本当にすごい。*1

まともにPythonのライブラリを使ってML/DLをやったことがないので、使い勝手(速度がどれくらいか、必要なバージョンがあるか等)は不明。今学期Machine Learning for Tradingという講義を取ったので、色々試して勉強したい。

今回は試しで指示通りminicondaを使ったが、実際に使う際はdockerか、pipenv/venv。次はこの環境をLinux(WSL)上のDockerから使えるか?を試したい。

*1:こういった技術がどうやって動いているかを理解できるようになるよう、大学院で勉強したい。

windows11でWSL2を利用してUbuntuをインストールし、Dockerなどを設定した

概要

WSL(Windows Subsystem for Linux)を使ってUbuntuを立ち上げ、Dockerを導入した。基本的には以下の指示に従った。
docs.microsoft.com


インストール

コマンド一発で終わるのでびっくり。とても簡単だった。このコマンドで以下を実行してくれる。

wsl --install

vscodeとdockerのセットアップをおこなったが、特に困ることはなかった。

Docker for windowsのimage保存先の変更

macbook proでもそうだったが、Docker imageは容量を圧迫するのでimage保存先を変更しておきたかった。以下の記事に従って、virtualbox同様パーティション設定したDドライブにdocker image専用フォルダを作成し、そこに移動させた。UIからで完了したdocker for macの時ほどではないが、簡単にできた。dockerも問題なく動作している。


qiita.com
chizuwota.net



感想

WSLがすごくて驚いた。特にwindowsにインストールしたdocker for windowsを利用してubuntu上でdockerを利用できる、ということに驚いた。どういう技術によってそれが達成されているかはまだ理解していない。dockerを使った作業も、これでいいのではと思い始めている*1
次はこの環境を利用して、GPUを使ったDeep Learning環境の構築をやってみたい。

*1:どのようなimageを利用するかなどは調査が必要

Windows11にVirtualBoxをインストールしてUbuntuを立ち上げてみた

概要

macbook proと同様、OMSCSの課題の準備としてwindows11にvirtualboxを立ち上げておいた。

インストール

前回と同様に、最新版のVirtualBox6.1.36とUbuntu22.04.1を利用。事前にパーティション分割を実行し作成したDドライブに、マシンフォルダーを割り当てた。Windows11はVirtualBoxHyper-Vの競合の問題があるらしく、VirtualBox6.1.28以降でないとだめらしい。

Hyper-Vとの共存は可能だがパフォーマンスに問題ありらしい。今はとりあえず無効化しているので問題なさそう。またmacの時に発生したような問題は特に起こらなかったので一安心。

forest.watch.impress.co.jp

qiita.com

 

感想

特に問題なくUbuntuを起動できた。CPU・メモリ使用量も安定していて快適に使えそう。次はWSLを使ってUbuntuの立ち上げを試してみたい。

自作PC(windows11)にSoftEther VPNとVPNAzureをセットアップして外部からVPN(SSTP)接続が出来るようにした

概要

自宅にセットアップした自作PC(windows11)に外部から接続して作業するために、VPN環境を整えた。

Windows11へのVPN環境セットアップにはSoftEther VPNとVPNAzureを利用し、VPNクライアントはWindows Remote Desktop (RDP)を利用している。

 

セットアップ

参考にした情報は以下の通り。丁寧な説明があったのでわかりやすかった。

 

www.vpnazure.net

yasunori.xyz

www.youtube.com

 

ハマったところ

VPNのセットアップは問題なく別のWindows端末からはSSTPVPN接続できるようになったが、Mac OSSSTPへの対応が必要だった。なかなか原因が特定できず(現在も根本原因は不明)、3日ぐらい悩んだ。

 

M1 Macであれば"SSTP connect"というアプリが利用できるようだが、自分の場合はintel製チップ(Macbook pro, intel CPU, Mac OS Catalina 10.15.7)なので他を探した。

まずSSTP-Clientを導入したが以下のようなエラーが出て接続できず。stack overflowなどかなり探したが何が原因か特定できず。

 

: Unrecoverable SSL error 0

: HTTP handshake with server failed

**Error: HTTP handshake with server failed, (-1)

 

次にisstp(v1.4)というGUIツールも入れてみた。これもsstp-clientで動くようなのでダメもとだったが案の定動かず。Githubを見ているとversionの問題というのを見かけたのでv1.4.1とv1.3を入れてみるもnot Connected。その他のsstp-clientをbrew installのものと入れ替える、など色々実行したが全く解決せず。

github.com

 

何が原因か全くわからず、Pingは通ったので認証に問題があると予想。ググるのを諦めSoftEther VPNのserver logを見ていると、以下のようなログを発見。ここで認証に失敗していることを確認。

2022-08-18 14:17:16.004 [HUB "xxx"] コネクション "xxx": ユーザー認証に失敗しました。提示されたユーザー名は "xxx" でした。
2022-08-18 14:17:16.031 コネクション "xxx" は理由 "ユーザー認証に失敗しました。" (コード 9) で終了しました。

ユーザを再作成し、isstpのversionをv1.3へダウングレードすると、isstpにより接続できるようになった。根本原因は不明。現在もsstp-clientからの接続はできていない。

 

セキュリティ

記事を参考に、以下をはじめとしたいくつかの対処を実施した。

  • 管理マネージャの接続元ipをlocalhostに制限
  • 1ユーザ1セッションに制限

qiita.com

zenn.dev

seirei.ne.jpqiita.com

 

感想

Macbook proiPadで、外部ネットワークからVPNを経由して接続できるようになった。トラブルシュートの際に様々調べたが、自分のやっていることをまだ完全に理解できていない。ネットワークの講義を取る際に見直したい。

 

セキュリティ的に十分かどうか不明なため、お気づきの点はぜひ指摘してください。

10万円自作PC(windows)の構成を考えAmazonで購入した

 

概要

先日の記事でも書いたが、進学先の課題をこなす上で現在のmacbook proではしんどそうだと判断した。前々から自作PCに興味があったので、この機会に10万円で自作PC(windows)を作り課題の一部をそれで行うことにした。

本当はM1/2チップmacbook proが欲しかったが、授業でよく使うVirtualBoxが対応していない&Dockerの運用も大変そう、ということで諦めた*1

macosxlib.net

zenn.dev

 

パーツリストと選定理由

jisaku.com

 

予算を大体10万円にして、その中で構成を考えた。

CPU: Intel Corei5 12400F

M1/M2 macbook proベンチマークにして*2、Geekbench Browserで性能が良さげなもの(multicore8000ぐらい)*3を選んだ。Intel Corei5 12400Fは内蔵GPUがないが2万円代で購入でき、コスパは結構良いみたい。

Intel Core i5-12400 Benchmarks - Geekbench Browser

GPUASUS TUF Gaming Radeon RX 6500 XT OC Edition [PCIExp 4GB]

現在2万円代で購入できるGPUの中で最も性能が良さそうだった。正直PCゲームはほぼしないが、以下二点の理由でGPUをのせてみることにした。

- Machine Learning/Deep LearningGPUを使ってみたい

- SwitchでCities Skylinesにハマったので、できたらPC版をプレイしてみたい

マザーボードASUS PRIME H610M-A D4

CPUの規格に合うもので、ASUSを選んだ。よくみているYoutuberの吉田製作所*4によると、ASUSマザボBIOSが結構良くて必要なソフトウェアのインストールとかを勝手にやってくれ便利らしい。

Windows11

学校から無料でインストールできる、Windows11 Educationを使うことにした。10にするか迷ったが、Intel 12世代が11に最適化されていると聞いたので11にしてみる。

 

その他パーツは互換性に問題がなさそうかを確認して、規格内で良さそうなものを選んだ。

 

感想

Amazonで大体10万円で購入できたので、これから組立、セットアップをしようと思っている。完全に初めてなので、どんな性能になるか楽しみ。少なくとも今のmacbook proよりはかなり性能が良さそう。

メインはmacbook proで、VirtualBoxを使う課題は自作PCで、という運用にするつもり。外出先から接続できるように、リモートデスクトップVPNの設定もやってみたい。ネットワークの勉強になりそう。

 

 

 

*1:授業の課題をこなすのに環境構築で時間を溶かしたくない

*2:買えないのが悔しかった

*3:M1/M2は8000-12000ぐらい

*4:自作PCを作ってみたいと思ったのも吉田製作所の影響です。