|
12 | 12 | { |
13 | 13 | "metadata": { |
14 | 14 | "ExecuteTime": { |
15 | | - "end_time": "2024-12-17T14:23:19.696179Z", |
16 | | - "start_time": "2024-12-17T14:23:18.268301Z" |
| 15 | + "end_time": "2025-01-10T12:14:05.982266Z", |
| 16 | + "start_time": "2025-01-10T12:14:04.426262Z" |
17 | 17 | } |
18 | 18 | }, |
19 | 19 | "cell_type": "code", |
20 | 20 | "source": [ |
21 | 21 | "import shapiq\n", |
22 | 22 | "import numpy as np\n", |
| 23 | + "import os\n", |
23 | 24 | "\n", |
24 | 25 | "shapiq.__version__" |
25 | 26 | ], |
26 | 27 | "outputs": [ |
27 | 28 | { |
28 | 29 | "data": { |
29 | 30 | "text/plain": [ |
30 | | - "'1.1.1'" |
| 31 | + "'1.1.1.dev'" |
31 | 32 | ] |
32 | 33 | }, |
33 | 34 | "execution_count": 1, |
|
86 | 87 | { |
87 | 88 | "metadata": { |
88 | 89 | "ExecuteTime": { |
89 | | - "end_time": "2024-12-17T14:23:19.711170Z", |
90 | | - "start_time": "2024-12-17T14:23:19.698170Z" |
| 90 | + "end_time": "2025-01-10T12:14:05.997215Z", |
| 91 | + "start_time": "2025-01-10T12:14:05.985240Z" |
91 | 92 | } |
92 | 93 | }, |
93 | 94 | "cell_type": "code", |
|
147 | 148 | { |
148 | 149 | "metadata": { |
149 | 150 | "ExecuteTime": { |
150 | | - "end_time": "2024-12-17T14:23:19.727173Z", |
151 | | - "start_time": "2024-12-17T14:23:19.713181Z" |
| 151 | + "end_time": "2025-01-10T12:14:06.013212Z", |
| 152 | + "start_time": "2025-01-10T12:14:06.000205Z" |
152 | 153 | } |
153 | 154 | }, |
154 | 155 | "cell_type": "code", |
|
174 | 175 | { |
175 | 176 | "metadata": { |
176 | 177 | "ExecuteTime": { |
177 | | - "end_time": "2024-12-17T14:23:19.742179Z", |
178 | | - "start_time": "2024-12-17T14:23:19.730173Z" |
| 178 | + "end_time": "2025-01-10T12:14:06.029218Z", |
| 179 | + "start_time": "2025-01-10T12:14:06.014204Z" |
179 | 180 | } |
180 | 181 | }, |
181 | 182 | "cell_type": "code", |
|
207 | 208 | { |
208 | 209 | "metadata": { |
209 | 210 | "ExecuteTime": { |
210 | | - "end_time": "2024-12-17T14:23:19.758170Z", |
211 | | - "start_time": "2024-12-17T14:23:19.745174Z" |
| 211 | + "end_time": "2025-01-10T12:14:06.045214Z", |
| 212 | + "start_time": "2025-01-10T12:14:06.033206Z" |
212 | 213 | } |
213 | 214 | }, |
214 | 215 | "cell_type": "code", |
|
245 | 246 | { |
246 | 247 | "metadata": { |
247 | 248 | "ExecuteTime": { |
248 | | - "end_time": "2024-12-17T14:23:19.789577Z", |
249 | | - "start_time": "2024-12-17T14:23:19.760172Z" |
| 249 | + "end_time": "2025-01-10T12:14:06.061209Z", |
| 250 | + "start_time": "2025-01-10T12:14:06.046217Z" |
250 | 251 | } |
251 | 252 | }, |
252 | 253 | "cell_type": "code", |
|
280 | 281 | "application/vnd.jupyter.widget-view+json": { |
281 | 282 | "version_major": 2, |
282 | 283 | "version_minor": 0, |
283 | | - "model_id": "e6e0bc19180b4969bae2cbcabef70fdf" |
| 284 | + "model_id": "218e4aac6918408d8a38f1c9646509fb" |
284 | 285 | } |
285 | 286 | }, |
286 | 287 | "metadata": {}, |
|
308 | 309 | { |
309 | 310 | "metadata": { |
310 | 311 | "ExecuteTime": { |
311 | | - "end_time": "2024-12-17T14:23:20.357939Z", |
312 | | - "start_time": "2024-12-17T14:23:19.792499Z" |
| 312 | + "end_time": "2025-01-10T12:14:06.076763Z", |
| 313 | + "start_time": "2025-01-10T12:14:06.063214Z" |
313 | 314 | } |
314 | 315 | }, |
315 | 316 | "cell_type": "code", |
316 | 317 | "source": [ |
317 | 318 | "# save the precomputed values to a file\n", |
318 | | - "cooking_game.save_values(\"data/cooking_game_values.npz\")\n", |
| 319 | + "save_path = os.path.join(\"..\", \"data\", \"cooking_game_values.npz\")\n", |
| 320 | + "cooking_game.save_values(save_path)\n", |
319 | 321 | "\n", |
320 | 322 | "# load the precomputed values from the file\n", |
321 | 323 | "empty_cooking_game = CookingGame()\n", |
322 | 324 | "print(\"Values stored before loading: \", empty_cooking_game.value_storage)\n", |
323 | | - "empty_cooking_game.load_values(\"cooking_game_values.npz\")\n", |
| 325 | + "empty_cooking_game.load_values(save_path)\n", |
324 | 326 | "print(\"Values stored after loading: \", empty_cooking_game.value_storage)" |
325 | 327 | ], |
326 | 328 | "outputs": [ |
327 | 329 | { |
328 | 330 | "name": "stdout", |
329 | 331 | "output_type": "stream", |
330 | 332 | "text": [ |
331 | | - "Values stored before loading: []\n" |
332 | | - ] |
333 | | - }, |
334 | | - { |
335 | | - "ename": "FileNotFoundError", |
336 | | - "evalue": "[Errno 2] No such file or directory: 'cooking_game_values.npz'", |
337 | | - "output_type": "error", |
338 | | - "traceback": [ |
339 | | - "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m", |
340 | | - "\u001B[1;31mFileNotFoundError\u001B[0m Traceback (most recent call last)", |
341 | | - "Cell \u001B[1;32mIn[7], line 7\u001B[0m\n\u001B[0;32m 5\u001B[0m empty_cooking_game \u001B[38;5;241m=\u001B[39m CookingGame()\n\u001B[0;32m 6\u001B[0m \u001B[38;5;28mprint\u001B[39m(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mValues stored before loading: \u001B[39m\u001B[38;5;124m\"\u001B[39m, empty_cooking_game\u001B[38;5;241m.\u001B[39mvalue_storage)\n\u001B[1;32m----> 7\u001B[0m \u001B[43mempty_cooking_game\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mload_values\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[38;5;124;43mcooking_game_values.npz\u001B[39;49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[43m)\u001B[49m\n\u001B[0;32m 8\u001B[0m \u001B[38;5;28mprint\u001B[39m(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mValues stored after loading: \u001B[39m\u001B[38;5;124m\"\u001B[39m, empty_cooking_game\u001B[38;5;241m.\u001B[39mvalue_storage)\n", |
342 | | - "File \u001B[1;32mC:\\1_Workspaces\\1_Phd_Projects\\shapiq\\shapiq\\games\\base.py:426\u001B[0m, in \u001B[0;36mGame.load_values\u001B[1;34m(self, path, precomputed)\u001B[0m\n\u001B[0;32m 423\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m path\u001B[38;5;241m.\u001B[39mendswith(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124m.npz\u001B[39m\u001B[38;5;124m\"\u001B[39m):\n\u001B[0;32m 424\u001B[0m path \u001B[38;5;241m+\u001B[39m\u001B[38;5;241m=\u001B[39m \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124m.npz\u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[1;32m--> 426\u001B[0m data \u001B[38;5;241m=\u001B[39m \u001B[43mnp\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mload\u001B[49m\u001B[43m(\u001B[49m\u001B[43mpath\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 427\u001B[0m n_players \u001B[38;5;241m=\u001B[39m data[\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mn_players\u001B[39m\u001B[38;5;124m\"\u001B[39m]\n\u001B[0;32m 428\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mn_players \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m \u001B[38;5;129;01mand\u001B[39;00m n_players \u001B[38;5;241m!=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mn_players:\n", |
343 | | - "File \u001B[1;32mC:\\1_Workspaces\\1_Phd_Projects\\shapiq\\venv\\lib\\site-packages\\numpy\\lib\\npyio.py:427\u001B[0m, in \u001B[0;36mload\u001B[1;34m(file, mmap_mode, allow_pickle, fix_imports, encoding, max_header_size)\u001B[0m\n\u001B[0;32m 425\u001B[0m own_fid \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mFalse\u001B[39;00m\n\u001B[0;32m 426\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[1;32m--> 427\u001B[0m fid \u001B[38;5;241m=\u001B[39m stack\u001B[38;5;241m.\u001B[39menter_context(\u001B[38;5;28;43mopen\u001B[39;49m\u001B[43m(\u001B[49m\u001B[43mos_fspath\u001B[49m\u001B[43m(\u001B[49m\u001B[43mfile\u001B[49m\u001B[43m)\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[38;5;124;43mrb\u001B[39;49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[43m)\u001B[49m)\n\u001B[0;32m 428\u001B[0m own_fid \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mTrue\u001B[39;00m\n\u001B[0;32m 430\u001B[0m \u001B[38;5;66;03m# Code to distinguish from NumPy binary files and pickles.\u001B[39;00m\n", |
344 | | - "\u001B[1;31mFileNotFoundError\u001B[0m: [Errno 2] No such file or directory: 'cooking_game_values.npz'" |
| 333 | + "Values stored before loading: []\n", |
| 334 | + "Values stored after loading: [ 0. 4. 3. 2. 9. 8. 7. 15.]\n" |
345 | 335 | ] |
346 | 336 | } |
347 | 337 | ], |
|
356 | 346 | ] |
357 | 347 | }, |
358 | 348 | { |
359 | | - "metadata": {}, |
| 349 | + "metadata": { |
| 350 | + "ExecuteTime": { |
| 351 | + "end_time": "2025-01-10T12:14:06.092763Z", |
| 352 | + "start_time": "2025-01-10T12:14:06.077767Z" |
| 353 | + } |
| 354 | + }, |
360 | 355 | "cell_type": "code", |
361 | 356 | "source": [ |
362 | 357 | "# initialize a game object directly from precomputed values\n", |
363 | | - "game = shapiq.Game(path_to_values=\"data/cooking_game_values.npz\")\n", |
| 358 | + "game = shapiq.Game(path_to_values=save_path)\n", |
364 | 359 | "print(game)\n", |
365 | 360 | "\n", |
366 | 361 | "# query the value function of the game for the same coalitions as before\n", |
367 | 362 | "coals = np.array([[0, 0, 0], [1, 1, 0], [1, 0, 1], [0, 1, 1], [1, 1, 1]])\n", |
368 | 363 | "game(coals)" |
369 | 364 | ], |
370 | | - "outputs": [], |
371 | | - "execution_count": null |
| 365 | + "outputs": [ |
| 366 | + { |
| 367 | + "name": "stdout", |
| 368 | + "output_type": "stream", |
| 369 | + "text": [ |
| 370 | + "Game(3 players, normalize=False, normalization_value=0.0, precomputed=True)\n" |
| 371 | + ] |
| 372 | + }, |
| 373 | + { |
| 374 | + "data": { |
| 375 | + "text/plain": [ |
| 376 | + "array([ 0., 9., 8., 7., 15.])" |
| 377 | + ] |
| 378 | + }, |
| 379 | + "execution_count": 8, |
| 380 | + "metadata": {}, |
| 381 | + "output_type": "execute_result" |
| 382 | + } |
| 383 | + ], |
| 384 | + "execution_count": 8 |
372 | 385 | }, |
373 | 386 | { |
374 | 387 | "metadata": {}, |
|
379 | 392 | ] |
380 | 393 | }, |
381 | 394 | { |
382 | | - "metadata": {}, |
| 395 | + "metadata": { |
| 396 | + "ExecuteTime": { |
| 397 | + "end_time": "2025-01-10T12:14:06.108755Z", |
| 398 | + "start_time": "2025-01-10T12:14:06.095753Z" |
| 399 | + } |
| 400 | + }, |
383 | 401 | "cell_type": "code", |
384 | 402 | "source": [ |
385 | 403 | "print(cooking_game.characteristic_function)\n", |
|
388 | 406 | "except AttributeError as e:\n", |
389 | 407 | " print(\"AttributeError:\", e)" |
390 | 408 | ], |
391 | | - "outputs": [], |
392 | | - "execution_count": null |
| 409 | + "outputs": [ |
| 410 | + { |
| 411 | + "name": "stdout", |
| 412 | + "output_type": "stream", |
| 413 | + "text": [ |
| 414 | + "{(): 0, (0,): 4, (1,): 3, (2,): 2, (0, 1): 9, (0, 2): 8, (1, 2): 7, (0, 1, 2): 15}\n", |
| 415 | + "AttributeError: 'Game' object has no attribute 'characteristic_function'\n" |
| 416 | + ] |
| 417 | + } |
| 418 | + ], |
| 419 | + "execution_count": 9 |
393 | 420 | } |
394 | 421 | ], |
395 | 422 | "metadata": { |
|
0 commit comments