Self-Introduction • Software engineer working in Cookpad Inc. • Ph.D • Research topics: graph analysis, natural Language processing, data mining etc… • Today I talk about a tool applicable to machine learning experiments. 2
Preliminaries: port forwarding • Limited resources in local machines • Data scientists work in multiple remote computers with ssh • To connect the UI of the servers (Jupyter Notebook) we need to add port forwarding settings. 3
Sample: ssh parameters ssh -A -L 8888:localhost:8888 takahi-i-workbench-001.ml.aws.ckpd.co 4 Port forward setting Remote host We need to remember the combinations among task, remote host, and forwarded port for each project
pfm keeps a table Table contains port forward settings • Task name • Type of port forwarding • Name of remote host • Remote port number • Login user • ssh-server 6
Demo: port forwarding to Jupyter server in Docker container with pfm Note: port forward settings from a Docker container is done with Cookiecutter Docker Science • URL: https://docker-science.github.io/ 10
Usage: provided commands Usage: pfm [OPTIONS] COMMAND [ARGS]... Options: -c, --config TEXT configuration file (DEFAULT $HOME/.pfm) --help Show this message and exit. Commands: add Add port forward setting delete Delete specified setting list List existing port forward settings param Generate ssh port forward parameters update Update registered port forward setting version Show version number 11
Future work • Register working directory in remote machines • Make `pfm connect` go to the working directory • Make pfm shows available list of port used in port forwarding 12