Skip to content

Commit a253729

Browse files
committed
More fixes
1 parent 6dfbb5e commit a253729

File tree

2 files changed

+3
-249
lines changed

2 files changed

+3
-249
lines changed

chapter12_object-detection.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@
585585
"outputs": [],
586586
"source": [
587587
"url = (\n",
588-
" \"https://upload.wikimedia.org/wikipedia/commons/thumb/7/7d/\"\n",
588+
" \"https://upload.wikimedia.org/wikipedia/commons/7/7d/\"\n",
589589
" \"A_Sunday_on_La_Grande_Jatte%2C_Georges_Seurat%2C_1884.jpg\"\n",
590590
")\n",
591591
"path = keras.utils.get_file(origin=url)\n",

chapter18_best-practices-for-the-real-world.ipynb

Lines changed: 2 additions & 248 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@
142142
"tuner = kt.BayesianOptimization(\n",
143143
" build_model,\n",
144144
" objective=\"val_accuracy\",\n",
145-
" max_trials=100,\n",
145+
" max_trials=20,\n",
146146
" executions_per_trial=2,\n",
147147
" directory=\"mnist_kt_test\",\n",
148148
" overwrite=True,\n",
@@ -241,6 +241,7 @@
241241
"source": [
242242
"def get_best_trained_model(hp):\n",
243243
" best_epoch = get_best_epoch(hp)\n",
244+
" model = build_model(hp)\n",
244245
" model.fit(\n",
245246
" x_train_full, y_train_full, batch_size=128, epochs=int(best_epoch * 1.2)\n",
246247
" )\n",
@@ -327,44 +328,6 @@
327328
"##### Model parallelism: split your model across multiple GPUs"
328329
]
329330
},
330-
{
331-
"cell_type": "code",
332-
"execution_count": 0,
333-
"metadata": {
334-
"colab_type": "code"
335-
},
336-
"outputs": [],
337-
"source": [
338-
"model = keras.Sequential(\n",
339-
" [\n",
340-
" keras.layers.Input(shape=(16000,)),\n",
341-
" keras.layers.Dense(64000, activation=\"relu\"),\n",
342-
" keras.layers.Dense(8000, activation=\"sigmoid\"),\n",
343-
" ]\n",
344-
")"
345-
]
346-
},
347-
{
348-
"cell_type": "code",
349-
"execution_count": 0,
350-
"metadata": {
351-
"colab_type": "code"
352-
},
353-
"outputs": [],
354-
"source": [
355-
"half_kernel_0 = kernel[:, :32000]\n",
356-
"half_bias_0 = bias[:32000]\n",
357-
"\n",
358-
"half_kernel_1 = kernel[:, 32000:]\n",
359-
"half_bias_1 = bias[32000:]\n",
360-
"\n",
361-
"with keras.device(\"gpu:0\"):\n",
362-
" half_output_0 = keras.ops.matmul(inputs, half_kernel_0) + half_bias_0\n",
363-
"\n",
364-
"with keras.device(\"gpu:1\"):\n",
365-
" half_output_1 = keras.ops.matmul(inputs, half_kernel_1) + half_bias_1"
366-
]
367-
},
368331
{
369332
"cell_type": "markdown",
370333
"metadata": {
@@ -392,41 +355,6 @@
392355
"###### Using data parallelism with JAX"
393356
]
394357
},
395-
{
396-
"cell_type": "code",
397-
"execution_count": 0,
398-
"metadata": {
399-
"colab_type": "code"
400-
},
401-
"outputs": [],
402-
"source": [
403-
"keras.distribution.set_distribution(keras.distribution.DataParallel())"
404-
]
405-
},
406-
{
407-
"cell_type": "code",
408-
"execution_count": 0,
409-
"metadata": {
410-
"colab_type": "code"
411-
},
412-
"outputs": [],
413-
"source": [
414-
"keras.distribution.list_devices()"
415-
]
416-
},
417-
{
418-
"cell_type": "code",
419-
"execution_count": 0,
420-
"metadata": {
421-
"colab_type": "code"
422-
},
423-
"outputs": [],
424-
"source": [
425-
"keras.distribution.set_distribution(\n",
426-
" keras.distribution.DataParallel([\"gpu:0\", \"gpu:1\"])\n",
427-
")"
428-
]
429-
},
430358
{
431359
"cell_type": "markdown",
432360
"metadata": {
@@ -436,117 +364,6 @@
436364
"###### Using model parallelism with JAX"
437365
]
438366
},
439-
{
440-
"cell_type": "code",
441-
"execution_count": 0,
442-
"metadata": {
443-
"colab_type": "code"
444-
},
445-
"outputs": [],
446-
"source": [
447-
"mesh = keras.distribution.DeviceMesh(\n",
448-
" shape=(2, 4),\n",
449-
" axis_names=[\"data\", \"model\"],\n",
450-
")"
451-
]
452-
},
453-
{
454-
"cell_type": "code",
455-
"execution_count": 0,
456-
"metadata": {
457-
"colab_type": "code"
458-
},
459-
"outputs": [],
460-
"source": [
461-
"devices = [f\"gpu:{i}\" for i in range(8)]\n",
462-
"mesh = keras.distribution.DeviceMesh(\n",
463-
" shape=(2, 4),\n",
464-
" axis_names=[\"data\", \"model\"],\n",
465-
" devices=devices,\n",
466-
")"
467-
]
468-
},
469-
{
470-
"cell_type": "code",
471-
"execution_count": 0,
472-
"metadata": {
473-
"colab_type": "code"
474-
},
475-
"outputs": [],
476-
"source": [
477-
"for v in model.variables:\n",
478-
" print(v.path)"
479-
]
480-
},
481-
{
482-
"cell_type": "code",
483-
"execution_count": 0,
484-
"metadata": {
485-
"colab_type": "code"
486-
},
487-
"outputs": [],
488-
"source": [
489-
"sequential/dense/kernel\n",
490-
"sequential/dense/bias\n",
491-
"sequential/dense_1/kernel\n",
492-
"sequential/dense_1/bias"
493-
]
494-
},
495-
{
496-
"cell_type": "code",
497-
"execution_count": 0,
498-
"metadata": {
499-
"colab_type": "code"
500-
},
501-
"outputs": [],
502-
"source": [
503-
"layout_map = keras.distribution.LayoutMap(device_mesh)\n",
504-
"layout_map[\"sequential/dense/kernel\"] = (None, \"model\")\n",
505-
"layout_map[\"sequential/dense/bias\"] = (\"model\",)\n",
506-
"layout_map[\"sequential/dense_1/kernel\"] = (None, \"model\")\n",
507-
"layout_map[\"sequential/dense_1/bias\"] = (\"model\",)"
508-
]
509-
},
510-
{
511-
"cell_type": "code",
512-
"execution_count": 0,
513-
"metadata": {
514-
"colab_type": "code"
515-
},
516-
"outputs": [],
517-
"source": [
518-
"model_parallel = keras.distribution.ModelParallel(\n",
519-
" layout_map=layout_map,\n",
520-
" batch_dim_name=\"data\",\n",
521-
")\n",
522-
"keras.distribution.set_distribution(model_parallel)"
523-
]
524-
},
525-
{
526-
"cell_type": "code",
527-
"execution_count": 0,
528-
"metadata": {
529-
"colab_type": "code"
530-
},
531-
"outputs": [],
532-
"source": [
533-
"model.layers[0].kernel.value.sharding"
534-
]
535-
},
536-
{
537-
"cell_type": "code",
538-
"execution_count": 0,
539-
"metadata": {
540-
"colab_type": "code"
541-
},
542-
"outputs": [],
543-
"source": [
544-
"import jax\n",
545-
"\n",
546-
"value = model.layers[0].kernel.value\n",
547-
"jax.debug.visualize_sharding(value.shape, value.sharding)"
548-
]
549-
},
550367
{
551368
"cell_type": "markdown",
552369
"metadata": {
@@ -592,19 +409,6 @@
592409
"##### Float16 inference"
593410
]
594411
},
595-
{
596-
"cell_type": "code",
597-
"execution_count": 0,
598-
"metadata": {
599-
"colab_type": "code"
600-
},
601-
"outputs": [],
602-
"source": [
603-
"import keras\n",
604-
"\n",
605-
"keras.config.set_dtype_policy(\"float16\")"
606-
]
607-
},
608412
{
609413
"cell_type": "markdown",
610414
"metadata": {
@@ -614,19 +418,6 @@
614418
"##### Mixed-precision training"
615419
]
616420
},
617-
{
618-
"cell_type": "code",
619-
"execution_count": 0,
620-
"metadata": {
621-
"colab_type": "code"
622-
},
623-
"outputs": [],
624-
"source": [
625-
"import keras\n",
626-
"\n",
627-
"keras.config.set_dtype_policy(\"mixed_float16\")"
628-
]
629-
},
630421
{
631422
"cell_type": "markdown",
632423
"metadata": {
@@ -636,30 +427,6 @@
636427
"##### Using loss scaling with mixed precision"
637428
]
638429
},
639-
{
640-
"cell_type": "code",
641-
"execution_count": 0,
642-
"metadata": {
643-
"colab_type": "code"
644-
},
645-
"outputs": [],
646-
"source": [
647-
"optimizer = keras.optimizers.Adam(learning_rate=1e-3, loss_scale_factor=10)"
648-
]
649-
},
650-
{
651-
"cell_type": "code",
652-
"execution_count": 0,
653-
"metadata": {
654-
"colab_type": "code"
655-
},
656-
"outputs": [],
657-
"source": [
658-
"optimizer = keras.optimizers.LossScaleOptimizer(\n",
659-
" keras.optimizers.Adam(learning_rate=1e-3)\n",
660-
")"
661-
]
662-
},
663430
{
664431
"cell_type": "markdown",
665432
"metadata": {
@@ -746,19 +513,6 @@
746513
"ops.matmul(x, kernel)"
747514
]
748515
},
749-
{
750-
"cell_type": "code",
751-
"execution_count": 0,
752-
"metadata": {
753-
"colab_type": "code"
754-
},
755-
"outputs": [],
756-
"source": [
757-
"model = ...\n",
758-
"model.quantize(\"int8\")\n",
759-
"predictions = model.predict(...)"
760-
]
761-
},
762516
{
763517
"cell_type": "markdown",
764518
"metadata": {

0 commit comments

Comments
 (0)