![]() ![]() Luckily there were a lot of engineers from Alteryx ready to guide us through the process. It was our first time working with the Python SDK. Return np.array(norm_image).reshape(1, n*n*4) # Uses NumPy to convert the decode image to a vector. Image = Image.open(filepath).convert('RGBA') Here is a snippet of the function used in Python:ĭef process_file_path(self, filepath, n): The Pillow library allows for the image to be normalized to a designated size, decodes the image pixel information, and concatenates the pixel values into a NumPy array. The tool utilizes the Pillow (a forked version of the Python Image Library) and NumPy libraries. In no time, we were able to create the base files to build the Image Vectorizer Tool in Alteryx. In four easy steps, it allows a user to set the metadata, specify incoming and outgoing connections, design the GUI interface, import the tool into Alteryx and generate all the framework files necessary to create a Python, Javascript or Macro tool.ĪYX Tool Scaffolder is very intuitive and straightforward. This led us to our team name “Cats Rule, Dogs Drool”.įor the BUILD Hackathon, the developers at Alteryx made available the new AYX Tool Scaffolder. The original goal was to determine if it was a cat image or not. Inspired by Andrew Ng’s deep learning specialization, we wanted to use the output of the Image Vectorizer tool to classify images. These labels can be used for the classification of images. If you include a CSV file with image filenames and labels, the tool will pair the vectors with the appropriate label. ![]() The tool concatenates the pixel features into a vector as follows (only RGB shown, alpha channel was omitted):Įach feature is ordered by pixel in a left to right, top to bottom fashion. The images are RGBA encoded, each pixel has four features: The image is then decoded and converted into a vector, which is just a list of numbers. For example, if an image is 500x500 pixels, and you do not lose too much information by resizing it to 100x100, then it might be advantageous to resize the image to increase performance when training your neural networks. The closer the image is to its original pixels, more information is captured, but the more time it will take to process the information, and vice versa. This allows for the user to tweak performance with accuracy. The value “n” is determined by the architecture of the neural networks. This assumes that all the images have the same aspect ratio. For example, if the user selects the value 100 for “n”, the tool will resize all images to 100x100 pixels. The parameter “n” specifies how the images are resized. For this tool, normalization is simply resizing all the images to have the same dimensions. It takes a directory of images, and normalizes the image size and decodes the image into vectors. What the Image Vectorizer tool does is fairly simple. We used the AYX Tool Scaffolder and the new Alteryx Python SDK in the development of this tool. This tool takes a directory of images and vectorizes them for potential image processing in Alteryx. With this new Alteryx feature, we decided to build a tool called the Image Vectorizer. Through those courses, we saw the potential to incorporate deep learning into Alteryx using the new Python SDK. Andrew Ng is a rockstar in the AI and deep learning community, and he has a popular deep learning specialization on Coursera. Deep learning has been getting a lot of attention in recent years. There were times I wanted to push the envelope by adding extra features, but Ryan helped ground me to prevent scope creep!Ī large part of the hackathon was focused on brainstorming ideas. Even personality wise, it could not have worked out better. I have a background in computer science with experience in Python, and Ryan had more experience in frontend design and Alteryx’s built-in capabilities.ĭespite this being our first-time meeting, this end to end knowledge helped us work extremely well together. Having just met, we quickly learned that our skill sets complemented each other’s perfectly. In a non-deterministic fashion, Ryan and I sat next to each other in the Hilton’s Ballroom A for the Alteryx BUILD hackathon. We had never met each other until the Monday morning of Alteryx Inspire 2018. Before attending Alteryx Inspire 2018, Ryan Andrew and I (Royden Onishi) had no idea what to expect. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |