Internship Experiences


leidos logo.jpg

Dates: May - Aug 2019 (16 weeks)

During this internship, I worked on three projects:

A lot of what our office works on is automatic target recognition (ATR). In order to recognize said targets we utilize deep learning techniques such as Convolutional Neural Networks (CNN). The main project delved into this summer was determining ways to optimize our existing CNN. In order to do that, we used to a variety of techniques to try and understand how the network would ‘perceive’ a certain chip relative to other chips at various spots within the network. We essentially used a variety of clustering techniques within different layers of our network to determine innate structural errors within our networks architecture. Another technique that I was able to work with use and learn about were Autoencoders. Autoencoders are essentially generative networks that allow one to recreate or sharpen an image (more so than a naive interpolation based up sampling technique). I used them to try and determine what features our CNN was extracting at each layer. All of the code was primarily written in python using pytorch.

In addition to optimizing our network, I was also able to move our Data Augmentation step (used in pre-processing image data) from the CPU to GPU. This way we were able to speed up the amount of time training took on our CNN - as all of the image array transformations perform much better on GPUs.

Finally, I wrote socket code in C++ that is used to make requests from a client to a server and then create and transfer image data from a server to a client. This server, where any client can request data from, was set up so that other clients (defense contractors or military personnel) could use the server and request data from anywhere, whenever they need it.


Dates: June- Aug 2018 (12 weeks)

During this internship, I wrote production level code that is now used by 14 of the nations leading defense contractors. The majority of this code is written in python, and it includes algorithms used for parsing and validating data given image data. Initially, the data we were given included incorrect location tags and a lot of other missing data. Thus, I had to write multiple python scripts which looked at multiple images and then validated whether or not each image was correct or incorrect, and then created correct image description files. These correct image description files then had values we could use to train our classifier for ATR.

In addition to creating the true description files, I also began working on CNN in TensorFlow and python which was used for object detection.


Dates:
January - june 2018

At Seizert Capital Partners, I spent a lot of time automating workflow. When one of the traders needed to execute a trade, they would use buggy code written in basic to log that into an excel file and then they would email all of the employees at the office. I wrote a new python script that would notify the staff when a trade was going to execute and also update a long running CSV that we had. Moreover, we received financial data from many different sources. Therefore, I spent time talking lots of third party software providers to find out how to efficiently gather and collect data that they provided. I was then able to build a script that aggregated all of the data saving a couple hours of time every week. Lastly, I also created an algorithm that ranked stocks based on a variety of metrics that we used, and a support vector machine which determined how important certain metrics were at predicting growth on a 9 month time frame.