Showing posts from 2020

Deploying Pre-trained Keras Models Using Tensorflow 2 on Amazon SageMaker

How does one go about deploying a model on Amazon SageMaker from Keras, TensorFlow, or TensorFlow Hub without first doing training? There are countless articles and blog posts discussing how to train a machine learning model using TensorFlow or Keras, and then deploy that model right away to Amazon SageMaker.  But what if you're already starting from a SavedModel, or just want to serve up a model trained on plain vanilla ImageNet from within your own AWS account?  You might end up wading through tons of confusing, outdated information that will misguide you, causing you to go down rabbit holes that will make things seem unnecessarily complex.  For instance, you might be inclined to use compatibility libraries to find low-level attributes of modern classes to leverage older deprecated function calls, or to build totally unnecessary infrastructure along the side that makes a Docker container for your model, which will be inevitably broken because you don't know how to invoke it. 

A Look Back on 50 Patents, and Initiating an Innovation Pipeline

Earning 50 patents in just two years is an incredible accomplishment.  My first US patent was granted on June 19, 2018, and my 50th happened June 23, 2020.  This is after beginning to file patents only in mid to late 2017.  How does one go about getting patents so quickly, especially in the highly crowded tech sector, and how can an organization facilitate such excitement among their staff to check for their names at 12:01 AM any given Tuesday? This Process is Nuanced, and Expensive! There is a lot of basic information about patents that you can read about or watch talks on from many other websites.  This includes information such as patents don't have to be complicated or some over-engineered gadget (lawyers make them seem like that, though!); what makes a good patent and what doesn't; why it's important to be first to file versus first to invent; how patents thread the eye of a needle to be written with enough specificity to be plausible, and implementable by someone pro

Extensible Database Tester in Python, with Permutations

Here is some Python code that allows you to generate all combinations of options by choosing one item from an arbitrary number of different lists.  Not only that, but each option is actually a data structure that also includes lots of metadata about the ramifications of the option, in addition to the option value itself. Let's say you're looking to run performance testing on different types of tables and underlying data arrangements in Amazon Redshift Spectrum.  You can devise a template SQL query that can be configurable in multiple ways.  For instance, you could choose between multiple tables or views from which to query data (say, if comparing Redshift to Redshift Spectrum performance), and you also want to see the performance of count(1) vs. count(*) to see if one uses more data or works quicker on Redshift vs. Spectrum.  Thus, you already have two lists of options, and need to come up with the four permutations of these options. The Groundwork Basically, to lay so