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を使う場合には何か固定する方法が必要かも。
VSCodeでSSH接続を設定しておいて、VSCodeのPortでlocalhostにforwardする設定をやっておくとコマンドを打つ必要がなくてすごい楽。
海外大学院オンライン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)系
感想
上記のリストから各コースの大まかな内容、学費、知名度などを基準に10コースに絞り込んだ。そこからカリキュラムなどを細かく調査し、最終的に3コースに出願した。
日本にはオンラインの修士課程はほぼないと思うが、海外(特にアメリカ)だと選択肢が多すぎて逆に絞り込むのに苦労した。特にDS系は充実している印象。
CSは最近人気が出すぎて進学がかなり難しいとも聞くので、私のように学部がCSではないがCSを勉強したい人間にとってオンラインの修士号は検討に値するいい選択肢なのではないかと思う。*1。
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
感想
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 --install
- オプションの WSL および仮想マシン プラットフォームのコンポーネントを有効にする
- 最新の Linux カーネルをダウンロードしてインストールする
- WSL 2 を既定値として設定する
- Ubuntu Linux ディストリビューションをダウンロードしてインストールする (再起動が必要になる場合があります)
vscodeとdockerのセットアップをおこなったが、特に困ることはなかった。
Docker for windowsのimage保存先の変更
macbook proでもそうだったが、Docker imageは容量を圧迫するのでimage保存先を変更しておきたかった。以下の記事に従って、virtualbox同様パーティション設定したDドライブにdocker image専用フォルダを作成し、そこに移動させた。UIからで完了したdocker for macの時ほどではないが、簡単にできた。dockerも問題なく動作している。
感想
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はVirtualBoxとHyper-Vの競合の問題があるらしく、VirtualBox6.1.28以降でないとだめらしい。
Hyper-Vとの共存は可能だがパフォーマンスに問題ありらしい。今はとりあえず無効化しているので問題なさそう。またmacの時に発生したような問題は特に起こらなかったので一安心。
感想
特に問題なくUbuntuを起動できた。CPU・メモリ使用量も安定していて快適に使えそう。次はWSLを使ってUbuntuの立ち上げを試してみたい。
自作PC(windows11)にSoftEther VPNとVPNAzureをセットアップして外部からVPN(SSTP)接続が出来るようにした
概要
自宅にセットアップした自作PC(windows11)に外部から接続して作業するために、VPN環境を整えた。
Windows11へのVPN環境セットアップにはSoftEther VPNとVPNAzureを利用し、VPNクライアントはWindows Remote Desktop (RDP)を利用している。
セットアップ
参考にした情報は以下の通り。丁寧な説明があったのでわかりやすかった。
ハマったところ
VPNのセットアップは問題なく別のWindows端末からはSSTPでVPN接続できるようになったが、Mac OSはSSTPへの対応が必要だった。なかなか原因が特定できず(現在も根本原因は不明)、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のものと入れ替える、など色々実行したが全く解決せず。
何が原因か全くわからず、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セッションに制限
感想
Macbook proやiPadで、外部ネットワークからVPNを経由して接続できるようになった。トラブルシュートの際に様々調べたが、自分のやっていることをまだ完全に理解できていない。ネットワークの講義を取る際に見直したい。
セキュリティ的に十分かどうか不明なため、お気づきの点はぜひ指摘してください。
10万円自作PC(windows)の構成を考えAmazonで購入した
概要
先日の記事でも書いたが、進学先の課題をこなす上で現在のmacbook proではしんどそうだと判断した。前々から自作PCに興味があったので、この機会に10万円で自作PC(windows)を作り課題の一部をそれで行うことにした。
本当はM1/2チップmacbook proが欲しかったが、授業でよく使うVirtualBoxが対応していない&Dockerの運用も大変そう、ということで諦めた*1。
パーツリストと選定理由
予算を大体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
GPU: ASUS TUF Gaming Radeon RX 6500 XT OC Edition [PCIExp 4GB]
現在2万円代で購入できるGPUの中で最も性能が良さそうだった。正直PCゲームはほぼしないが、以下二点の理由でGPUをのせてみることにした。
- Machine Learning/Deep LearningでGPUを使ってみたい
- 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の設定もやってみたい。ネットワークの勉強になりそう。