{"cells": [{"cell_type": "code", "metadata": {}, "outputs": [], "source": ["!curl -O https://raw.githubusercontent.com/deepjavalibrary/d2l-java/master/tools/fix-colab-gpu.sh && bash fix-colab-gpu.sh"], "execution_count": null}, {"cell_type": "markdown", "metadata": {}, "source": ["## Prepare Java Kernel for Google Colab\n", "Since Java is not natively supported by Colab, we need to run the following code to enable Java kernel on Colab.\n", "\n", "1. Run the cell bellow (click it and press Shift+Enter),\n", "2. (If training on CPU, skip this step) If you want to use the GPU with MXNet in DJL 0.10.0, we need CUDA 10.1 or CUDA 10.2.\nSince Colab supports CUDA 10.1, we will have to follow some steps to setup the environment.\nRefresh the page (press F5) and stay at Python runtime on GPU. Run the file fix-colab-gpu script.\n\nAnd then ensure that you have switched to CUDA 10.1.\n3. After that, switch runtime to Java and hardware to GPU.(Might require refreshing the page and switching runtime)\n", "\n", "Now you can write Java code."]}, {"cell_type": "code", "metadata": {}, "outputs": [], "source": ["!curl -O https://raw.githubusercontent.com/deepjavalibrary/d2l-java/master/tools/colab_build.sh && bash colab_build.sh"], "execution_count": null}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["%maven ai.djl:basicdataset:0.23.0\n", "%maven ai.djl.mxnet:mxnet-engine:0.23.0\n", "%maven org.slf4j:slf4j-simple:1.7.36"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import ai.djl.*;\n", "import ai.djl.engine.*;\n", "import ai.djl.inference.*;\n", "import ai.djl.modality.*;\n", "import ai.djl.modality.cv.*;\n", "import ai.djl.modality.cv.Image;\n", "import ai.djl.modality.cv.transform.*;\n", "import ai.djl.modality.cv.translator.*;\n", "import ai.djl.modality.cv.output.*;\n", "import ai.djl.modality.cv.util.*;\n", "import ai.djl.ndarray.*;\n", "import ai.djl.ndarray.index.*;\n", "import ai.djl.ndarray.types.*;\n", "import ai.djl.ndarray.types.Shape;\n", "import ai.djl.nn.*;\n", "import ai.djl.nn.convolutional.*;\n", "import ai.djl.nn.core.*;\n", "import ai.djl.nn.norm.*;\n", "import ai.djl.nn.pooling.*;\n", "import ai.djl.nn.recurrent.*;\n", "import ai.djl.repository.zoo.*;\n", "import ai.djl.training.*;\n", "import ai.djl.training.evaluator.*;\n", "import ai.djl.training.initializer.*;\n", "import ai.djl.training.listener.*;\n", "import ai.djl.training.loss.*;\n", "import ai.djl.training.optimizer.*;\n", "import ai.djl.training.tracker.*;\n", "import ai.djl.training.util.*;\n", "import ai.djl.training.dataset.*;\n", "import ai.djl.translate.*;\n", "import ai.djl.util.*;\n", "import java.io.*;\n", "import java.net.*;\n", "import java.nio.*;\n", "import java.nio.file.*;\n", "import java.util.*;\n", "import java.util.function.*;"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["String datasetLimit = System.getenv(\"DATASET_LIMIT\");\n", "if (datasetLimit != null) {\n", " System.setProperty(\"DATASET_LIMIT\", datasetLimit);\n", "}\n", "String maxEpoch = System.getenv(\"MAX_EPOCH\");\n", "if (maxEpoch != null) {\n", " System.setProperty(\"MAX_EPOCH\", maxEpoch);\n", "}\n", "\n", "System.setProperty(\"org.slf4j.simpleLogger.showThreadName\", \"false\");\n", "System.setProperty(\"org.slf4j.simpleLogger.showLogName\", \"false\");\n", "System.setProperty(\"org.slf4j.simpleLogger.log.ai.djl.pytorch\", \"WARN\");\n", "System.setProperty(\"org.slf4j.simpleLogger.log.ai.djl.mxnet\", \"WARN\");\n", "System.setProperty(\"org.slf4j.simpleLogger.log.ai.djl.tensorflow\", \"WARN\");\n"]}], "metadata": {"kernelspec": {"display_name": "Java", "language": "java", "name": "java"}, "language_info": {"codemirror_mode": "java", "file_extension": ".jshell", "mimetype": "text/x-java-source", "name": "Java", "pygments_lexer": "java", "version": "14.0.2+12"}}, "nbformat": 4, "nbformat_minor": 4}