|
24 | 24 | ] |
25 | 25 | }, |
26 | 26 | { |
27 | | - "cell_type": "code", |
28 | | - "execution_count": null, |
29 | | - "id": "homeless-announcement", |
| 27 | + "cell_type": "markdown", |
| 28 | + "id": "acd07905", |
30 | 29 | "metadata": {}, |
31 | | - "outputs": [], |
32 | 30 | "source": [ |
33 | | - "%%bash\n", |
34 | | - "git clone https://github.com/npatta01/pytorch-serving-workshop.git -b main --depth 1" |
| 31 | + "we are cloning to tmp for jupyterhub setup \n" |
35 | 32 | ] |
36 | 33 | }, |
37 | 34 | { |
38 | 35 | "cell_type": "code", |
39 | 36 | "execution_count": null, |
40 | | - "id": "spectacular-scott", |
| 37 | + "id": "homeless-announcement", |
41 | 38 | "metadata": {}, |
42 | 39 | "outputs": [], |
43 | 40 | "source": [ |
44 | 41 | "%%bash\n", |
45 | | - "cd pytorch-serving-workshop\n", |
46 | | - "mkdir -p artifacts/dataset_processed/amazon\n", |
47 | | - "mkdir -p artifacts/dataset_processed/model\n", |
48 | | - "\n", |
49 | | - "\n", |
50 | | - "cd artifacts\n", |
51 | | - "\n", |
52 | 42 | "\n", |
53 | | - "# dataset\n", |
54 | | - "echo \"downloading dataset\"\n", |
55 | | - "wget https://github.com/npatta01/pytorch-serving-workshop/releases/download/v0.0.1/dataset_processed.zip\n", |
56 | | - "unzip dataset_processed.zip\n", |
57 | | - "\n", |
58 | | - "\n", |
59 | | - "# model trained on above dataset\n", |
60 | | - "echo \"downloading model\"\n", |
61 | | - "wget https://github.com/npatta01/pytorch-serving-workshop/releases/download/v0.0.1/model.zip \n", |
62 | | - "unzip model.zip\n" |
| 43 | + "mkdir -p /tmp/workshop\n", |
| 44 | + "cd /tmp/workshop\n", |
| 45 | + "git clone https://github.com/npatta01/pytorch-serving-workshop.git -b main --depth 1" |
63 | 46 | ] |
64 | 47 | }, |
65 | 48 | { |
|
77 | 60 | "metadata": {}, |
78 | 61 | "outputs": [], |
79 | 62 | "source": [ |
80 | | - "!pip install -r pytorch-serving-workshop/requirements.txt" |
| 63 | + "!pip install -r /tmp/workshop/pytorch-serving-workshop/requirements.txt" |
81 | 64 | ] |
82 | 65 | }, |
83 | 66 | { |
84 | | - "cell_type": "code", |
85 | | - "execution_count": null, |
86 | | - "id": "neither-shipping", |
| 67 | + "cell_type": "markdown", |
| 68 | + "id": "875c286c", |
87 | 69 | "metadata": {}, |
88 | | - "outputs": [], |
89 | | - "source": [] |
| 70 | + "source": [ |
| 71 | + "download processed dataset and model" |
| 72 | + ] |
90 | 73 | }, |
91 | 74 | { |
92 | 75 | "cell_type": "code", |
93 | 76 | "execution_count": null, |
94 | | - "id": "checked-priest", |
| 77 | + "id": "spectacular-scott", |
95 | 78 | "metadata": {}, |
96 | 79 | "outputs": [], |
97 | 80 | "source": [ |
98 | | - "!sudo apt-get install htop tmux -y" |
| 81 | + "%%bash\n", |
| 82 | + "\n", |
| 83 | + "cd /tmp/workshop\n", |
| 84 | + "\n", |
| 85 | + "cd pytorch-serving-workshop\n", |
| 86 | + "mkdir -p artifacts/dataset_processed/amazon\n", |
| 87 | + "mkdir -p artifacts/dataset_processed/model\n", |
| 88 | + "\n", |
| 89 | + "\n", |
| 90 | + "cd artifacts\n", |
| 91 | + "\n", |
| 92 | + "\n", |
| 93 | + "# dataset\n", |
| 94 | + "echo \"downloading dataset\"\n", |
| 95 | + "wget https://github.com/npatta01/pytorch-serving-workshop/releases/download/v0.0.1/dataset_processed.zip\n", |
| 96 | + "unzip dataset_processed.zip\n", |
| 97 | + "\n", |
| 98 | + "\n", |
| 99 | + "# model trained on above dataset\n", |
| 100 | + "echo \"downloading model\"\n", |
| 101 | + "wget https://github.com/npatta01/pytorch-serving-workshop/releases/download/v0.0.1/model.zip \n", |
| 102 | + "unzip model.zip\n" |
99 | 103 | ] |
100 | 104 | }, |
101 | 105 | { |
102 | 106 | "cell_type": "markdown", |
103 | | - "id": "immune-institution", |
| 107 | + "id": "0ce1ca35", |
104 | 108 | "metadata": {}, |
105 | 109 | "source": [ |
106 | | - "## Colabcode\n", |
107 | | - "Colab doesn't support multiple notebooks, so we use colabcode to setup vscode + ngrok" |
| 110 | + "Download transformer models" |
108 | 111 | ] |
109 | 112 | }, |
110 | 113 | { |
111 | 114 | "cell_type": "code", |
112 | 115 | "execution_count": null, |
113 | | - "id": "insured-navigator", |
| 116 | + "id": "9073adaa", |
114 | 117 | "metadata": {}, |
115 | 118 | "outputs": [], |
116 | 119 | "source": [ |
117 | | - "!pip install colabcode==0.3.0" |
| 120 | + "import transformers" |
118 | 121 | ] |
119 | 122 | }, |
120 | 123 | { |
121 | 124 | "cell_type": "code", |
122 | 125 | "execution_count": null, |
123 | | - "id": "capital-major", |
| 126 | + "id": "c66c5e14", |
124 | 127 | "metadata": {}, |
125 | 128 | "outputs": [], |
126 | 129 | "source": [ |
127 | | - "from colabcode import ColabCode\n" |
| 130 | + "for model_name in [\"bert-large-uncased\",\"bert-base-uncased\",\"distilbert-base-uncased\"]:\n", |
| 131 | + " model = transformers.AutoModelForSequenceClassification.from_pretrained(model_name)\n", |
| 132 | + "\n", |
| 133 | + " tokenizer = transformers.AutoTokenizer.from_pretrained(\n", |
| 134 | + " model_name\n", |
| 135 | + " )\n", |
| 136 | + "\n", |
| 137 | + " query = \"men shoes\"\n", |
| 138 | + " res = tokenizer.encode_plus(query, return_tensors=\"pt\", padding=\"max_length\", truncation=True)\n", |
| 139 | + "\n", |
| 140 | + " model_res = model(**res)\n" |
128 | 141 | ] |
129 | 142 | }, |
130 | 143 | { |
131 | 144 | "cell_type": "code", |
132 | 145 | "execution_count": null, |
133 | | - "id": "operational-spotlight", |
| 146 | + "id": "neither-shipping", |
134 | 147 | "metadata": {}, |
135 | 148 | "outputs": [], |
136 | 149 | "source": [ |
137 | | - "ColabCode(port=10000, mount_drive=False)" |
| 150 | + "!cp -r /tmp/workshop/ $HOME/workshop/" |
138 | 151 | ] |
139 | 152 | } |
140 | 153 | ], |
|
144 | 157 | "type": "gcloud", |
145 | 158 | "uri": "gcr.io/deeplearning-platform-release/rapids-gpu.0-18:m65" |
146 | 159 | }, |
147 | | - "kernelspec": { |
148 | | - "display_name": "Python [conda env:pytorch]", |
149 | | - "language": "python", |
150 | | - "name": "conda-env-pytorch-py" |
151 | | - }, |
152 | 160 | "language_info": { |
153 | 161 | "codemirror_mode": { |
154 | 162 | "name": "ipython", |
|
0 commit comments