Posts

Walking through the NVidia AI Workbench's Kaggle competition kernel example project

Image
The NVidia AI Workbench team has created a prototypical workspace for those wanting to participate in Kaggle competitions while running on their own hardware.  NVidia created a workbench project,  NVidia Competition Kernel on GitHub , that integrates Kaggle's GPU container images along with Jupyter Notebooks that interface with Kaggle. The Kaggle images are the same ones they use in their data scientist environment. The project is configured to participate in the continuous, training, Digits competition where you train a model to recognize handwritten numerical digits. NVidia created the project in a way that can be used in other competitions of the same class.  Three Notebooks Downloads the Training and Submission data Creates a model and trains the model using the training data. The notebook tunes the model against the training data. Then, it evaluates the Test data to generate what it thinks are the matches. The matches are written to a file. Uploads the CSV file containing its

You really know it only once you can teach it

Image
Teaching someone else makes clear what you really know.  You fully understand it when you can explain it to others. Teach others lays bare the wholes in your knowledge and where your assumptions were enough "to get by". Image by Adobe Revision History Created 2024 11

Take bed motion into account when printing narrow parts

Image
This is a bit embarrassing but I printed a chainsaw cosplay blade the other day and it went great.   Then I re-sliced and reprinted.  The 2nd print set failed when one of the pieces lost adhesion. It fell over .  Part of the reason that happened is because I laid out the pieces aligned such that the narrow axis of the part was in the same direction as the bed movement.   I then re-sliced oriented so that the parts lined up in the direction of motion and it printed without problems. Rafts and supports are great but sometimes you can help yourself by picking the right part/axis alignment. Video Short Revision History Created 2024/10

Telling people "silence is acceptance" when we ask for input and they never reply

Image
Everyone needs to provide input or feedback when we are spinning something up, troubleshooting something, or digging in. They should raise disagreements, tune the plan, or otherwise get involved because eventually, it will become their plan. To achieve the best results, we need to provide enough time, the appropriate venues, and the means for providing that feedback and participating in the decisions. Once provided, it is on them to speak up if they have any issues. Sometimes we have to make it explicit to get people to pay attention. "You have agreed to this path if we don't hear from you by that date. Your silence in this matter is acceptance." Opting out of the results is not an option. Video Other There may be alternative views depending on the environment but that is for another time. Silence is Acceptance Silence is Apathy Silence is Antipathy Silence is Avoidance Revision History Created 2024 11

4 easy ways to GIT in AI Workbench and Jupyter Notebooks (0.86.20 edition)

Image
I struggled initially to manage my ML and data science projects when running them in the NVidia Workbench. The built-in GIT interface was basic  and fine for basic operations but I found it frustrating for branching and merging.  I ended up using tools that ran inside the Workbench Container instead of the Workbench itself. Workbench SVC support continues to improve but I use the other tools discussed while watching Workbench improve. Here are the 4 ways I've explored. The AI Workbench UI This NVidia AI Workbench interface is a work in progress.  The latest version adds git diff  capabilities, a big improvement.  This UI is still simple and intended for basic file commits.  Use something else if you need advanced git control or merge functionality. Jupyter Notebook Extensions There are a few different Jupyter Notebook extensions. Some, like jupyterlab-git,   add themselves to the Notebook UI toolbar. Here is the left gutter interface for extension:  jupyterlab-git. It feels like a

Shelling into a containerized Jupyter Notebook environment directly from the notebook

Image
Somehow I've missed that Jupyter Notebooks provides a shell into the container with a simple mouse click.  No more scrambling to the command line looking for the container name and then running a container connect. Starting the terminal via Launcher Using the terminal for command line GIT Demonstration Revision History Created 2024/11

Deleting a specific site's cookies from Chrome

Image
Having problems with a specific website that used to work?  Does the site work when visited in incognito mode?.   Deleting the cookies for just that site  might fix the problem without removing info for other sites.  Warning:  This removes any "remember me" or persistent session state for that site. Chrome > Settings  This page is  chrome://settings Privacy and security > Third-Party Cookies This page is  chrome://settings/privacy See all the site data and permissions This page is  chrome://settings/cookies Delete the Cookies for an individual site. This page is chrome://settings/content/all 1. Find the problem site by scrolling or searching by domain name Ex: foocompany.com 2. Delete that site's cookies by pressing on the trash can.  Do not hit Delete all data Fini Retest the web site for which you deleted the cookies. Revision History Created 2024/11

Learning about ML training with the NVidia Workbench Example Kaggle Competition Kernel

Image
Kaggle runs different machine learning or data science competitions. You can participate using their containerized environments or by coding locally. NVidia simplified working locally, or in your own cloud, with an AI Workbench-compatible  example Kaggle competition kernel . Their project contains everything needed to download competition data from Kaggle, run train/test cycles, and then upload the results for evaluation. I love this dockerized project because it lets me play in a competition sandbox on my local machine with no local configuration changes to my development machine The  Handwritten Digits Recognizer  competition is an open-ended competition trainer. Kaggle provides images of handwritten digits. You train against the training dataset and test against the testing data set. Then run your trained model against the candidate digits of the competition submission set and upload the results to the Kaggle competition. The  NVidia Workbench example Kaggle competition kernel  is d

The value of technical conferences can vary widely based on their intent and how you attend

I was recently whining to the "home budget office" about being unable to justify personally paying the entry fee for this year's re:invent. AWS evolves so quickly that I feel obsolete after being heads down for a year not running my technical radar against their continual announcements. I wanted to use the conference as an info dump to stay relevant to keep future options open. Would the information boost and brain stretching be worth the cost? The main question when thinking about attending a conference is the "information density"/"cost" ratio. Are there enough immediate takeaways to make it more than a technical vacation? The default large vendor conference attendance pattern is easy but has low information density. This attendance pattern isn't justified if it is all I do. Attending the Keynote and the large talks can all be done at home. Thousands of re:invent sized event attendees watch the Keynote remotely anyway because there isn't a

Upgrading a PC was more of a learning experience than I expected

Image
Some people buy computing power for self-training or self-edification projects. Others rent computing power. I like owning the gear I work on. I purchased a desktop to be used as a gaming machine, a development system, a containerized workload machine, a Data Science machine, and a Machine Learning platform. I didn't understand that it would turn into a series of hardware upgrades bound by PC architecture constraints. This was a great learning experience but not the best raw dollars investment from a pure cost/capabilities point of view. The 3 years of upgrades cost $1200. I saved some money purchasing previous-generation hardware. Buying current-generation hardware upgrades would cost $1900.  I could have stopped anywhere on the path. Apple wasn't a player in the gaming, M/L, or GPU market when I made my purchase. Apple has caught up for most of my use cases with its large shared memory architecture and performant CPUs. A Macbook might be the simplest approach for someone want