diff --git a/oml-fun-on-adb/get-started-livelabs/get-started-livelabs.md b/oml-fun-on-adb/get-started-livelabs/get-started-livelabs.md index 9dddf751..a01f842e 100644 --- a/oml-fun-on-adb/get-started-livelabs/get-started-livelabs.md +++ b/oml-fun-on-adb/get-started-livelabs/get-started-livelabs.md @@ -49,7 +49,7 @@ In this lab, you will learn how to: ## Acknowledgements -* **Author** : Moitreyee Hazarika, Consulting User Assistance Developer, Database User Assistance Development +* **Author** : Moitreyee Hazarika, Consulting User Assistance Developer, Oracle AI Database User Assistance Development * **Contributors**: Mark Hornick, Senior Director, Data Science and Machine Learning; Marcos Arancibia Coddou, Product Manager, Oracle Data Science; Sherry LaMonica, Consulting Member of Tech Staff, Machine Learning diff --git a/oml-fun-on-adb/oml-github-nb/files/sample.json b/oml-fun-on-adb/oml-github-nb/files/sample.json new file mode 100644 index 00000000..48109ed2 --- /dev/null +++ b/oml-fun-on-adb/oml-github-nb/files/sample.json @@ -0,0 +1,38 @@ +{ + "quiz": { + "sport": { + "q1": { + "question": "Which one is correct team name in NBA?", + "options": [ + "New York Bulls", + "Los Angeles Kings", + "Golden State Warriros", + "Huston Rocket" + ], + "answer": "Huston Rocket" + } + }, + "maths": { + "q1": { + "question": "5 + 7 = ?", + "options": [ + "10", + "11", + "12", + "13" + ], + "answer": "12" + }, + "q2": { + "question": "12 - 8 = ?", + "options": [ + "1", + "2", + "3", + "4" + ], + "answer": "4" + } + } + } +} diff --git a/oml-fun-on-adb/oml-github-nb/files/starter-file.sql b/oml-fun-on-adb/oml-github-nb/files/starter-file.sql new file mode 100644 index 00000000..9d7e762e --- /dev/null +++ b/oml-fun-on-adb/oml-github-nb/files/starter-file.sql @@ -0,0 +1,101 @@ +/* NOTE: Files cannot contain empty lines (line breaks) */ +/* Specify the base URL that you copied from your files in OCI Object Storage in the define base_URL line below*/ +/* change idthydc0kinr to your real namespace. The name is case-sensitive. */ +/* change ADWCLab to your real bucket name. The name is case-sensitive. */ +/* change us-phoenix-1 to your real region name. The name is case-sensitive. */ +/* you can find these values on the OCI Console .. Storage .. Object Storage screen */ +set define on +define base_URL='https://objectstorage.us-phoenix-1.oraclecloud.com/n/idthydc0kinr/b/ADWCLab/o' +/* copy Channels table */ +begin + dbms_cloud.copy_data( + table_name =>'CHANNELS', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/chan_v3.dat', + format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true') + ); +end; +/ +/* copy Countries table */ +begin + dbms_cloud.copy_data( + table_name =>'COUNTRIES', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/coun_v3.dat', + format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true') + ); +end; +/ +/* Copy customers */ +begin + dbms_cloud.copy_data( + table_name =>'CUSTOMERS', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/cust1v3.dat', + format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS') + ); +end; +/ +begin + dbms_cloud.copy_data( + table_name =>'SUPPLEMENTARY_DEMOGRAPHICS', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/dem1v3.dat', + format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true') + ); +end; +/ +begin + dbms_cloud.copy_data( + table_name =>'SALES', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/dmsal_v3.dat', + format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD') + ); +end; +/ +begin + dbms_cloud.copy_data( + table_name =>'PRODUCTS', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/prod1v3.dat', + format => json_object('delimiter' value '|', 'quote' value '^', 'ignoremissingcolumns' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true') + ); +end; +/ +begin + dbms_cloud.copy_data( + table_name =>'PROMOTIONS', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/prom1v3.dat', + format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true') + ); +end; +/ +begin + dbms_cloud.copy_data( + table_name =>'SALES', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/sale1v3.dat', + format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD', 'blankasnull' value 'true') + ); +end; +/ +begin + dbms_cloud.copy_data( + table_name =>'TIMES', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/time_v3.dat', + format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true') + ); +end; +/ +begin + dbms_cloud.copy_data( + table_name =>'COSTS', + credential_name =>'OBJ_STORE_CRED', + file_uri_list =>'&base_URL/costs.dat', + format => json_object('ignoremissingcolumns' value 'true', 'dateformat' value 'YYYY-MM-DD', 'blankasnull' value 'true') + ); +end; +/ diff --git a/oml-fun-on-adb/oml-github-nb/images/branch-change.png b/oml-fun-on-adb/oml-github-nb/images/branch-change.png new file mode 100644 index 00000000..4438290d Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/branch-change.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/checkout.png b/oml-fun-on-adb/oml-github-nb/images/checkout.png new file mode 100644 index 00000000..aa426a79 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/checkout.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/commit-n-push-1.png b/oml-fun-on-adb/oml-github-nb/images/commit-n-push-1.png new file mode 100644 index 00000000..9ca32d9e Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/commit-n-push-1.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/commit-n-push-2.png b/oml-fun-on-adb/oml-github-nb/images/commit-n-push-2.png new file mode 100644 index 00000000..8d44546f Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/commit-n-push-2.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/commit-n-push-dialog.png b/oml-fun-on-adb/oml-github-nb/images/commit-n-push-dialog.png new file mode 100644 index 00000000..95222c49 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/commit-n-push-dialog.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/confirm-pull.png b/oml-fun-on-adb/oml-github-nb/images/confirm-pull.png new file mode 100644 index 00000000..9486728b Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/confirm-pull.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/confirmation-message.png b/oml-fun-on-adb/oml-github-nb/images/confirmation-message.png new file mode 100644 index 00000000..941081da Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/confirmation-message.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/copy-token.png b/oml-fun-on-adb/oml-github-nb/images/copy-token.png new file mode 100644 index 00000000..88bb9b89 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/copy-token.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/create-credentials-dialog.png b/oml-fun-on-adb/oml-github-nb/images/create-credentials-dialog.png new file mode 100644 index 00000000..a8d1a0bf Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/create-credentials-dialog.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/define-pat.png b/oml-fun-on-adb/oml-github-nb/images/define-pat.png new file mode 100644 index 00000000..9dfd71be Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/define-pat.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/developer-settings.png b/oml-fun-on-adb/oml-github-nb/images/developer-settings.png new file mode 100644 index 00000000..9605a907 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/developer-settings.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/generate-new-token.png b/oml-fun-on-adb/oml-github-nb/images/generate-new-token.png new file mode 100644 index 00000000..e1a2066a Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/generate-new-token.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/generate-token.png b/oml-fun-on-adb/oml-github-nb/images/generate-token.png new file mode 100644 index 00000000..615e0434 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/generate-token.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/git-clone-dialog.png b/oml-fun-on-adb/oml-github-nb/images/git-clone-dialog.png new file mode 100644 index 00000000..61f9dc32 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/git-clone-dialog.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/git-icon.png b/oml-fun-on-adb/oml-github-nb/images/git-icon.png new file mode 100644 index 00000000..b012576b Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/git-icon.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/git-profile-settings.png b/oml-fun-on-adb/oml-github-nb/images/git-profile-settings.png new file mode 100644 index 00000000..66a77883 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/git-profile-settings.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/github-credentials-page-1.png b/oml-fun-on-adb/oml-github-nb/images/github-credentials-page-1.png new file mode 100644 index 00000000..a64b61b1 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/github-credentials-page-1.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/github-credentials-page-2.png b/oml-fun-on-adb/oml-github-nb/images/github-credentials-page-2.png new file mode 100644 index 00000000..a34c51ec Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/github-credentials-page-2.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/github-developer-settings.png b/oml-fun-on-adb/oml-github-nb/images/github-developer-settings.png new file mode 100644 index 00000000..54d5fce5 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/github-developer-settings.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/github-nb-listing-page.png b/oml-fun-on-adb/oml-github-nb/images/github-nb-listing-page.png new file mode 100644 index 00000000..c3285171 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/github-nb-listing-page.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/github-notebook-access-options.png b/oml-fun-on-adb/oml-github-nb/images/github-notebook-access-options.png new file mode 100644 index 00000000..ac2ecf3f Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/github-notebook-access-options.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/homepage-git-credentials.png b/oml-fun-on-adb/oml-github-nb/images/homepage-git-credentials.png new file mode 100644 index 00000000..1828929d Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/homepage-git-credentials.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/homepage-leftnav-notebooks.png b/oml-fun-on-adb/oml-github-nb/images/homepage-leftnav-notebooks.png new file mode 100644 index 00000000..024a6e13 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/homepage-leftnav-notebooks.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/notebook-omluser-repo.png b/oml-fun-on-adb/oml-github-nb/images/notebook-omluser-repo.png new file mode 100644 index 00000000..4af74247 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/notebook-omluser-repo.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/notebook-pulled.png b/oml-fun-on-adb/oml-github-nb/images/notebook-pulled.png new file mode 100644 index 00000000..e10f8887 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/notebook-pulled.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/oml-nb-import-git.png b/oml-fun-on-adb/oml-github-nb/images/oml-nb-import-git.png new file mode 100644 index 00000000..ef5d51f6 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/oml-nb-import-git.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/oml-notebooks-page.png b/oml-fun-on-adb/oml-github-nb/images/oml-notebooks-page.png new file mode 100644 index 00000000..44e268c3 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/oml-notebooks-page.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/pull-changes.png b/oml-fun-on-adb/oml-github-nb/images/pull-changes.png new file mode 100644 index 00000000..75021247 Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/pull-changes.png differ diff --git a/oml-fun-on-adb/oml-github-nb/images/version-control-pane.png b/oml-fun-on-adb/oml-github-nb/images/version-control-pane.png new file mode 100644 index 00000000..044a677e Binary files /dev/null and b/oml-fun-on-adb/oml-github-nb/images/version-control-pane.png differ diff --git a/oml-fun-on-adb/oml-github-nb/oml-github-nb.md b/oml-fun-on-adb/oml-github-nb/oml-github-nb.md new file mode 100644 index 00000000..9343aece --- /dev/null +++ b/oml-fun-on-adb/oml-github-nb/oml-github-nb.md @@ -0,0 +1,216 @@ +# Work with GitHub Notebooks in Oracle Machine Learning UI + +## Introduction + +This lab walks you through the steps to access the GitHub interface pages in OML UI, create a GitHub credential, clone and import a GitHub notebook, and edit and sync your GitHub notebook. + +Estimated Time: 20 minutes + +### About GitHub Notebooks + +Oracle Machine Learning Notebooks is integrated with GitHub repositories thereby enabling you to import OML, Jupyter, and Zeppelin notebooks from GitHub into OML Notebooks. After working on your notebooks, you can synchronize the changes back to GitHub repo by the click of the **Push & Commit** button. The GitHub and OML Notebooks integration also supports the capabilities for versioning and sharing notebooks within the OML environment. + +### Objectives + +In this lab, you will learn how to: +* Create GitHub Credentials +* Generate a Personal Access Token +* Clone and import a GitHub Notebook +* Edit and sync your GitHub Notebooks + + +### Prerequisites + +This lab assumes you have: +* An Oracle Machine Learning account +* Access to Oracle Machine Learning USER account +* A GitHub repository with notebooks + +## Task 1: Create a GitHub Credential + +You must have separate credentials to connect to your GitHub repositories that are marked private. The credential object with your GitHub credentials are stored in the Autonomous AI Database. The credentials contain the necessary information such as name, email, personal access token and so on. + +> **Note:** GitHub repositories that are `public` can be accessed without credentials. + +The GitHub Credential interface in Oracle Machine Learning UI is the interface where you create the database credential objects to connect to your GitHub repositories. + +To create a GitHub credential: + +1. On the Oracle Machine Learning UI home page, click **GitHub Credentials**. Alternatively, you may click on the user profile drop-down menu, click **GitHub** and then click **Credentials**. This opens the **GitHub Credentials** page. + + ![GitHub credential on OML UI home page](images/homepage-git-credentials.png) + +2. On the GitHub Credentials page, click **Create**. The Create Credentials dialog opens. + + ![GitHub Credentials page](images/github-credentials-page-1.png) + +3. On the Create Credentials dialog, provide the following details: + + ![Create Credential dialog](images/create-credentials-dialog.png) + + * **Name:** This is a name to identify this credential. + * **Provider:** This is the name of the external repository. Currently, only the GitHub repository is supported. + * **Email:** This is the email ID of the Git user that created the repository. The maximum limit is 128 characters. + * **Token:** This is the Personal Access Token, a secure method to authenticate with GitHub repository. You can generate it from your GitHub profile. + + > **Note:** See _Task 2: Generate Personal Access Token_ for details. + + * Click **Create**. + + This completes the task of creating the credentials and takes you back to the GitHub Credentials page. The user credential that you just created is now listed on this page. + + ![GitHub Credentials page](images/github-credentials-page-2.png) + +## Task 2: Generate Personal Access Token + +A Personal Access Token (PAT) is an authentication token. It is a secure method used for user authentication. + +To generate the Personal access token: + +1. Open your GitHub profile, scroll down and click **Settings**. This opens the GitHub Settings page. + + ![GitHub Profile settings](images/git-profile-settings.png) + +2. On the left navigation of your GitHub Settings page, scroll down and click **Developer Settings**. + + ![Developer settings](images/developer-settings.png) + +3. On the left navigation of the Developer Settings page, expand **Personal access tokens** and click **Tokens (classic)**. + + ![Developer settings](images/github-developer-settings.png) + +4. On the right pane, click **Generate new tokens** and then click **Generate new token (classic).** + + ![Generate New Token option](images/generate-new-token.png) + +5. On the New personal access token (classic) page, enter the following: + + ![Generate New Token option](images/define-pat.png) + + * **Note:** Enter any note about the token. + * **Expiration Date:** Click the down arrow and select an option about the validity of this token. + * **Scope:** In this entire section, select repo. + +6. Scroll down the page and click **Generate token**. The token is generated. + + ![Generate Token](images/generate-token.png) + +7. Click the copy icon to copy the token and use it when creating the GitHub credentials in Oracle Machine Learning UI. + + ![Copy Token](images/copy-token.png) + + +## Task 3: Clone and Import a GitHub Notebook + +This task demonstrates how to create notebooks based on Example templates. You will learn how to: + +1. Go to your Oracle Machine Learning Notebooks listing page and click **Import.** Here, you have two options—File and Git. Click **Git.** This opens the Git Clone dialog. + + ![Import options on OML Notebooks page](images/oml-nb-import-git.png) + +2. On the Git Clone dialog, enter these details: + + ![Git Clone dialog](images/git-clone-dialog.png) + + * **Enter a valid GitHub URI:** Paste the URL of the GitHub notebook you want to import. To obtain the URI of the notebook, go to your GitHub repository, right-click on the notebook you want to import and click **Copy Link.** Paste this link on the **GitHub URI** field in the Git Clone dialog. + ![GitHub repository](images/notebook-omluser-repo.png) + * **Select a credential:** Click the down arrow to select a credential. If you do not have a credential created, click the + icon to create one. + See _Task 1: Create a GitHub Credential_ for more information. +3. Click **OK**. This starts cloning your GitHub notebook. Once completed, it opens the notebook in the Notebook editor. + +This completes the task of cloning and importing a notebook from your GitHub repository. + + +## Task 4: Edit and Sync your GitHub notebook + +You can update remote changes in your notebooks and also upload local changes in the notebooks back to your GitHub repository using the Version Control options — **Pull changes** and **Push & commit** in OML notebook editor to synchronize the cloned notebook with your GitHub repository copy of the notebook. + +You can sync your GitHub notebooks by using these options: +* **Commit and Push:** Use this option to save and commit the edits done to the cloned (local) copy of your GitHub notebook to your GitHub repository. +* **Pull changes:** Use this option to pull or update all changes from your Github repository to your cloned (local) copy of your GitHub notebook. +* **Change branch and pull changes:** Use the checkout option ![](images/checkout.png) to change the repository branch and pull all changes in the cloned copy of your GitHub notebook from the updated branch. + +To edit and sync the changes in your GitHub notebook: + +1. Access and open your GitHub notebook. You can access all your cloned GitHub notebooks from: + + * The **GitHub Notebooks listing page:** To access your GitHub Notebooks listing page, click **GitHub Notebooks** on the Oracle Machine Learning UI home page. Alternatively, you may click on the user profile drop-down menu on the top-right corner of the Oracle Machine Learning UI home page. Click **GitHub**, and then click **Notebooks.** + + ![Access to GitHub Notebooks](images/github-notebook-access-options.png) + This opens the GitHub Notebooks listing page as shown here. The Run-me-first notebook you just cloned is now listed here. To open it, click on the notebook name. + ![GitHub Notebook listing page](images/github-nb-listing-page.png) + + * The **Oracle Machine Learning Notebooks listing page:** To access your OML Notebooks listing page, click **Notebooks** on the OML UI home page. Alternatively, you may go to the Oracle Machine Learning UI left navigation pane, expand **Projects** and then click **Notebooks.** + ![Access OML Notebooks](images/homepage-leftnav-notebooks.png) + This opens the OML Notebooks listing page as shown here. The _Run-me-first_ notebook you just cloned is now listed here. To open it, click on the notebook name. + ![OML Notebook listing page](images/oml-notebooks-page.png) + + > **Note:** The ![](images/git-icon.png) icon against the notebook indicates that it is cloned GitHub notebook. + +2. Once the notebook is opened in the Notebook editor, run the following script in a %python paragraph: + + ``` + + %python + + data = [ + ["Asia", "India", 800], + ["Asia", "China", 900], + ["Asia", "Japan", 425], + ["Europe", "Germany", 383], + ["Europe", "France", 467], + ["Europe", "Italy", 360], + ["Africa", "Nigeria", 416], + ["Africa", "Egypt", 510], + ["Americas", "USA", 631], + ["Americas", "Brazil", 413] + ] + + print("Continent\tCountry\tPopulation") + for row in data: + print(f"{row[0]}\t{row[1]}\t{row[2]}") + + + ``` + +3. After running the paragraph in your notebook, click ![](images/git-icon.png) on the top of the notebook editor. This opens the **Version Control** pane on the right. Click **Commit & Push.** The Commit and Push dialog opens. + + ![Commit & Push option on the Version control pane](images/commit-n-push-1.png) + +4. In the Commit and Push dialog, evaluate your changes. You may add a note on the **Commit message** field. Click **Continue.** This starts committing the changes to the repository. + ![Commit & Push option on the Version control pane](images/commit-n-push-dialog.png) + +5. Once the changes are committed successfully, a confirmation message is displayed: + ![Confirmation message](images/confirmation-message.png) + The Version Control pane on the right now displays the newly committed ID. + ![Commit & Push option on the Version control pane](images/commit-n-push-2.png) + +4. The other options to sync your GitHub notebook are: + + * **Pull Changes** + * **Change branch and pull changes:** + +5. **Pull Changes:** To pull or update all changes from your GitHub repository to your cloned copy in Oracle Machine Learning UI, click **Pull changes.** + ![Pull Changes](images/pull-changes.png) + A confirmation dialog opens with the repository branch name. Note the GitHub repository branch name in the **Current branch** field. Click **Pull** to confirm. + ![Confirm Pull](images/confirm-pull.png) + + Once complete, it displays the confirmation message as shown here: + + ![Pull Confirmation message](images/notebook-pulled.png) + +6. **Change branch and pull changes:** To change the branch from the default `main`, paste the name of the branch in the **Current branch** field. In this example, there is already a branch by the name `oml-notebook`. This is pasted in the **Current branch** field here. Click ![](images/checkout.png). This changes the branch and pulls all changes in the notebook from the updated branch to your cloned copy in Oracle Machine Learning UI. Once complete, it displays the confirmation message: Current branch is set to . + ![Branch change confirmation message](images/branch-change.png) + +This completes the task of accessing the GitHub interface pages in Oracle Machine Learning UI, creating a GitHub credential, cloning and importing a GitHub notebook, and editing and syncing your GitHub notebook. You may now **proceed to the next lab**. + +## Learn More + +* [Oracle Machine Learning UI](https://docs.oracle.com/en/database/oracle/machine-learning/oml-notebooks/) +* [Interactive Tour - Oracle Machine Learning UI](https://docs.oracle.com/en/cloud/paas/autonomous-database/oml-tour/) + +## Acknowledgements + +* **Author** : Moitreyee Hazarika, Consulting User Assistance Developer, Oracle AI Database User Assistance Development +* **Contributors**: Mark Hornick, Senior Director, Data Science and Machine Learning; Marcos Arancibia Coddou, Product Manager, Oracle Data Science; Sherry LaMonica, Consulting Member of Tech Staff, Machine Learning +* **Last Updated By/Date**: Moitreyee Hazarika, November 2025 diff --git a/oml-fun-on-adb/omlr/omlr.md b/oml-fun-on-adb/omlr/omlr.md index 5fa3fad3..134b9e38 100644 --- a/oml-fun-on-adb/omlr/omlr.md +++ b/oml-fun-on-adb/omlr/omlr.md @@ -8,7 +8,7 @@ Estimated Lab Time: 30 minutes ### About Oracle Machine Learning for R (OML4R) -Oracle Machine Learning for R (OML4R) is a component of Oracle Autonomous AI Database (ADB), which includes Oracle Autonomous AI Lakehouse (ALK), Oracle Autonomous AI Transaction Processing (ATP), and Oracle Autonomous AI JSON Database (AJD). OML4R is also included with on-premises Oracle AI Database licenses and Database Cloud Service with separate installations. Oracle Machine Learning empowers data scientists with open-source R by leveraging the database as a high-performance computing environment. Database tables and views are accessed through data.frame proxy objects with overloaded functionality that produces SQL, transparently behind the scenes. The in-database machine learning algorithms are exposed through a native R API and produce the same first-class, in-database machine learning models as the OML4SQL API. +Oracle Machine Learning for R (OML4R) is a component of Oracle Autonomous AI Database (ADB), which includes Oracle Autonomous Data Warehouse (ADW), Oracle Autonomous Transaction Processing (ATP), and Oracle Autonomous JSON Database (AJD). OML4R is also included with on-premises Oracle Database licenses and Database Cloud Service with separate installations. Oracle Machine Learning empowers data scientists with open-source R by leveraging the database as a high-performance computing environment. Database tables and views are accessed through data.frame proxy objects with overloaded functionality that produces SQL, transparently behind the scenes. The in-database machine learning algorithms are exposed through a native R API and produce the same first-class, in-database machine learning models as the OML4SQL API. You can also create user-defined R functions and manage them in the database, and store and manage R objects, like R machine learning models, directly in the database, avoiding the need to manage flat files. Further, with embedded R execution, you can call user-defined R functions from SQL, and on Autonomous AI Database, from REST endpoints for production deployment on R engines spawned and managed by the database environment. Embedded R execution also has system-provided data-parallel and task-parallel invocation of these user-defined functions. For example, an open-source model can be scaled to large volumes of data for making predictions by requesting that multiple engines be spawned to process chunks of data in parallel. OML provides the supporting infrastructure to simplify and automate this process. ### Objectives @@ -768,12 +768,12 @@ You may now **proceed to the next lab**. OML4R also enables data scientists to hand off their user-defined R functions to application developers for calling from REST or SQL interfaces, where the database environment spawns and controls the R engines, loads the user-defined function, and if required, loads the specified data. This facilitates making native R machine learning models and predictions readily available for enterprise solutions as well, with the option to leverage data parallelism for greater performance and scalability. Given below are some of the functionalities that OML4R offers: 1. [Embedded R Execution](https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/2.0.0/oreug/use-oracle-r-enterprise-embedded-r-execution.html#GUID-A5771EE5-AAC0-4D59-89C8-D0AE04DC0140) -OML4R Embedded R Execution provides users the ability to call user-defined R functions in one or more R engines spawned and managed by the Oracle AI Database environment. Store and manage user-defined R functions for use in embedded execution in the R script repository in the database. These functions can then be invoked from SQL or REST APIs. For more information on SQL API for ERE see [SQL API for Embedded R Execution](https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/2.0.0/oreug/use-oracle-r-enterprise-embedded-r-execution.html#GUID-E4A808B3-7844-4B6E-BBC0-FBFD170831EF) with Autonomous AI Database and for REST APIs see [REST API for Embedded R Execution](https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/2.0.0/mlere/index.html). +OML4R Embedded R Execution provides users the ability to call user-defined R functions in one or more R engines spawned and managed by the Oracle database environment. Store and manage user-defined R functions for use in embedded execution in the R script repository in the database. These functions can then be invoked from SQL or REST APIs. For more information on SQL API for ERE see [SQL API for Embedded R Execution](https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/2.0.0/oreug/use-oracle-r-enterprise-embedded-r-execution.html#GUID-E4A808B3-7844-4B6E-BBC0-FBFD170831EF) with Autonomous AI Database and for REST APIs see [REST API for Embedded R Execution](https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/2.0.0/mlere/index.html). 2. [Data Manipulation Using OREdplyr](https://docs.oracle.com/en/database/oracle/machine-learning/oml4r/2.0.0/oreug/prepare-and-explore-data-database.html#GUID-3072812B-B1D2-4EEE-98FB-5F139D1B046D) OREdplyr package functions implement the `dplyr` interface for use with `ore.frame` and `ore.numeric` objects. ## Acknowledgements -* **Author** - Sadhana Ashokkumar, Principal User Assistance Developer. -* **Contributors** - Mark Hornick, Senior Director, Data Science and Machine Learning; Suresh Rajan, Director, Oracle AI Database User Assistance Development; Sherry LaMonica, Consulting Member of Tech Staff, Machine Learning. +* **Author** - Sadhana Ashokkumar, Member of Technical Staff, Oracle AI Database User Assistance Development +* **Contributors** - Mark Hornick, Senior Director, Data Science and Machine Learning; Suresh Rajan, Senior Manager, Oracle Database User Assistance Development; Sherry LaMonica, Consulting Member of Tech Staff, Machine Learning. * **Last Updated By/Date** - Sadhana Ashokkumar, November 2025 diff --git a/oml-fun-on-adb/omlserv/omlserv.md b/oml-fun-on-adb/omlserv/omlserv.md index 62839c19..73d36bae 100644 --- a/oml-fun-on-adb/omlserv/omlserv.md +++ b/oml-fun-on-adb/omlserv/omlserv.md @@ -72,7 +72,7 @@ This lab assumes you have: * Your OML password * `oml-cloud-service-location-url` - Here is the syntax: + Here is the syntax: ``` @@ -650,6 +650,6 @@ For each summary, an associated weight is also returned. ## Acknowledgements -* **Author** - Suresh Rajan, Senior Manager, Oracle Database User Assistance Development; Moitreyee Hazarika, Principal UAD, Database User Assistance Development +* **Author** - Suresh Rajan, Senior Manager, Oracle AI Database User Assistance Development; Moitreyee Hazarika, Principal UAD, Database User Assistance Development * **Contributors** - Mark Hornick, Senior Director, Data Science and Oracle Machine Learning Product Management; Sherry LaMonica, Consulting Member of Technical Staff, Oracle Machine Learning; Marcos Arancibia Coddou, Senior Principal Product Manager, Machine Learning -* **Last Updated By/Date** - Moitreyee Hazarika, June 2025 +* **Last Updated By/Date** - Moitreyee Hazarika, November 2025 diff --git a/oml-fun-on-adb/omlsql/omlsql.md b/oml-fun-on-adb/omlsql/omlsql.md index ed37595d..02c1e0ce 100644 --- a/oml-fun-on-adb/omlsql/omlsql.md +++ b/oml-fun-on-adb/omlsql/omlsql.md @@ -293,6 +293,6 @@ This completes the prediction step. The model has successfully forecast sales fo ## Acknowledgements -* **Author** - Sarika Surampudi, Principal User Assistance Developer, Oracle Database User Assistance Development +* **Author** - Sarika Surampudi, Principal User Assistance Developer, Oracle AI Database User Assistance Development * **Contributors** - Mark Hornick, Sr. Director, Data Science and Oracle Machine Learning Product Management; Sherry LaMonica, Consulting Member of Technical Staff, Machine Learning; Marcos Arancibia, Senior Principal Product Manager, Machine Learning * **Last Updated By/Date** - Sarika Surampudi, October 2025 diff --git a/oml-fun-on-adb/workshops/freetier/manifest.json b/oml-fun-on-adb/workshops/freetier/manifest.json index 425c332b..06eb7271 100644 --- a/oml-fun-on-adb/workshops/freetier/manifest.json +++ b/oml-fun-on-adb/workshops/freetier/manifest.json @@ -32,39 +32,44 @@ "title": "Lab 1: Introduction to Oracle Machine Learning Notebooks", "type": "freetier", "filename": "/common/building-blocks/blocks/oml/oml-notebooks-ea/oml-notebooks-ea.md" + }, + { + "title": "Lab 2: Work with GitHub Notebooks in Oracle Machine Learning UI", + "type": "freetier", + "filename": "../../oml-github-nb/oml-github-nb.md" }, { - "title": "Lab 2: Introduction to Oracle Machine Learning for SQL", + "title": "Lab 3: Introduction to Oracle Machine Learning for SQL", "type": "freetier", "filename": "../../omlsql/omlsql.md" }, { - "title": "Lab 3: Introduction to Oracle Machine Learning for Python", + "title": "Lab 4: Introduction to Oracle Machine Learning for Python", "type": "freetier", "filename": "../../omlpy/omlpy.md" }, { - "title": "Lab 4: Introduction to Oracle Machine Learning for R", + "title": "Lab 5: Introduction to Oracle Machine Learning for R", "type": "freetier", "filename": "../../omlr/omlr.md" }, { - "title": "Lab 5: Introduction to Oracle Machine Learning AutoML UI", + "title": "Lab 6: Introduction to Oracle Machine Learning AutoML UI", "type": "freetier", "filename": "/common/building-blocks/blocks/oml/oml-automl/oml-automl.md" }, { - "title": "Lab 6: Introduction to Oracle Machine Learning Monitoring", + "title": "Lab 7: Introduction to Oracle Machine Learning Monitoring", "type": "freetier", "filename": "/common/building-blocks/blocks/oml/oml-monitoring/oml-monitoring.md" }, { - "title": "Lab 7: Introduction to Oracle Machine Learning Services", + "title": "Lab 8: Introduction to Oracle Machine Learning Services", "type": "freetier", "filename": "../../omlserv/omlserv.md" }, { - "title": "Lab 8: Introduction to the Conda Environments in Oracle Machine Learning Notebook", + "title": "Lab 9: Introduction to the Conda Environments in Oracle Machine Learning Notebook", "type": "livelabs", "filename": "/common/building-blocks/blocks/oml/oml-conda/oml-conda.md" }, diff --git a/oml-fun-on-adb/workshops/livelabs/manifest.json b/oml-fun-on-adb/workshops/livelabs/manifest.json index 0910e054..b9dff210 100644 --- a/oml-fun-on-adb/workshops/livelabs/manifest.json +++ b/oml-fun-on-adb/workshops/livelabs/manifest.json @@ -27,39 +27,44 @@ "title": "Lab 1: Introduction to Oracle Machine Learning Notebook", "type": "livelabs", "filename": "/common/building-blocks/blocks/oml/oml-notebooks-ea/oml-notebooks-ea.md" + }, + { + "title": "Lab 2: Work with GitHub Notebooks in Oracle Machine Learning UI", + "type": "livelabs", + "filename": "../../oml-github-nb/oml-github-nb.md" }, { - "title": "Lab 2: Introduction to Oracle Machine Learning for SQL", + "title": "Lab 3: Introduction to Oracle Machine Learning for SQL", "type": "livelabs", "filename": "../../omlsql/omlsql.md" }, { - "title": "Lab 3: Introduction to Oracle Machine Learning for Python", + "title": "Lab 4: Introduction to Oracle Machine Learning for Python", "type": "livelabs", "filename": "../../omlpy/omlpy.md" }, { - "title": "Lab 4: Introduction to Oracle Machine Learning for R", + "title": "Lab 5: Introduction to Oracle Machine Learning for R", "type": "livelabs", "filename": "../../omlr/omlr.md" }, { - "title": "Lab 5: Introduction to Oracle Machine Learning AutoML UI", + "title": "Lab 6: Introduction to Oracle Machine Learning AutoML UI", "type": "livelabs", "filename": "/common/building-blocks/blocks/oml/oml-automl/oml-automl.md" }, { - "title": "Lab 6: Introduction to Oracle Machine Learning Monitoring", + "title": "Lab 7: Introduction to Oracle Machine Learning Monitoring", "type": "livelabs", "filename": "/common/building-blocks/blocks/oml/oml-monitoring/oml-monitoring.md" }, { - "title": "Lab 7: Introduction to Oracle Machine Learning Services", + "title": "Lab 8: Introduction to Oracle Machine Learning Services", "type": "livelabs", "filename": "../../omlserv/omlserv.md" }, { - "title": "Lab 8: Introduction to the Conda Environments in Oracle Machine Learning Notebook", + "title": "Lab 9: Introduction to the Conda Environments in Oracle Machine Learning Notebook", "type": "livelabs", "filename": "/common/building-blocks/blocks/oml/oml-conda/oml-conda.md" },