Here is a daily log for Haihao Liu from 2016.6.5 to 2016.8.7 in Saito Lab in Tohoku Univ. #contents *Daily schedule (tentative) [#schedule] - 09:30-10:00 Finishing/continuing any work from previous day - 10:00-12:00 Discussion with Shoufie-san - 12:00-13:00 Lunch - 13:00-14:30 Discussion with Shoufie-san - 14:30-15:00 Prepare daily report presentation - 15:00-15:30 Meeting with Saito-sensei - 15:30-17:30 Continuing work/updating Pukiwiki *Goal of the project [#goal] - To enhance electric field at graphene surface by changing the possible patterns of dielectric thin layers through deep learning algorithms. - Keywords: graphene, transfer matrix, deep learning. *Questions and Answers [#QA] This section is for posting questions from Haihao-san and answers from other group members. - Please list here with some simple reasons or details. - For every problem, give a tag double asterisks (**) in the code so that it will appear in the table of contents. - For the answer, give a tag triple asterisks (***) in the code below the problem in order to make a proper alignment. - List from new to old. **Q: (Placeholder) [#Q1] ***A: (Placeholder) [#A1] *Report [#report] This part is basically written by Haihao-san. Any other people can add this. Here the information should be from new to old so that we do not need to scroll. **June 20 [#june20] - Found hole/security flaw in SquirrelMail webmail - Wrote abstract for Zao meeting - Researched GPUs for deep learning - Deployed catnet on Matlab, initial tests were big success - Figured out MNIST wasn?t working because of simple division/rescaling of input, not sure if working - Learned how to use Matlab read/write to file, played with different formatting for saving data To do: - Create database of transmission spectra and E field plots - Compile training data using random 100-layer sequences? - Try to train with catnet (imagine) - Talk to CS friend about how to implement, what type of neural network **June 18 [#june18] - Sendai castle adventure - Performance group **June 17 [#june17] - Finally got MatCaffe working, MNIST does not seem to be working - Installed Caffe (/liu/caffe) on tube61 (Ubuntu 15.04) with ATLAS, CPU-only, ran catnet, still slow, maybe even slower than Mac! (~6 min/20 iterations) - Moved cat images to flex, continued training - Installed OpenBLAS on tube61 to try to rebuild Caffe with OpenBLAS - Installed Intel MKL (commercial, got free student license) on tube60, installed caffe (/liu/research/caffe) on tube 60 (Ubuntu 12.04) with MKL, CPU-only, not yet tested catnet To do: - Rebuild with OpenBLAS - Finish training catnet - Look into OpenMP for parallel processing support, OpenMP+MKL gives performance comparable to GPU **June 16 [#june16] - Downloaded 7000+ cat and dog images - Training catnet is slow! 5 min/20 iter (1000 in total) - Downloaded MNIST dataset, trained in about ~10 mins - Python wrapper installed properly, MATLAB not working, so can?t yet deploy To do: - Test MNIST by deploying on either Matlab or Python - Look into GPUs, Saito-sensei might buy one to install on lab server **June 15 [#june15] - Talked with Shoufie-san about basics of neural networks, showed him the power of genetic algorithms, discussed ideas on how to use networks to find/generate good sequences - Continued troubleshooting constant errors, build Caffe, but make runtest failing - Found that laptop?s GPU is too old, not powerful enough, built in CPU-only, finally passed all tests To do: - Learn how to use Caffe, run example programs MNIST and catnet - Install MATLAB and Python wrappers/interface **June 14 [#june14] - Installed Homebrew, Miniconda (lightweight Anaconda Python distro) - Installed CUDA, other libraries Caffe has as dependencies - Saito-sensei invited me to join Zao NanoCarbon Meeting, gladly accepted! To do: - Install Caffe **June 13 [#june13] - Found that integral based error function never gave good score, max ~30 on linear conversion scale for 10 layer system - Experimented with designing evaluation function based on Q factor for transmission, enhancement and position for E field - Watching some videos online to learn the basics of how deep learning is implemented, as well as see more examples. To do: - File read/write to avoid recalculating every time - Install Caffe **June 10 [#june10] - Adapted MATLAB programs calculate transfer matrix and plot transmission and enhancement for any arbitrary sequence - Wrote error function - Lab party! To do: - Evaluate scaling functions (0-100) **June 9 [#june9] - Wrote MATLAB program to plot intensity of E field in Fibonacci lattice as function of position (z), looked at positions of enhancement To do: - Adapt code to calculate transfer matrix and plot transmission and enhancement for any arbitrary sequence - Design error function (0-100 scale) to measure how close a given transmission or enhancement spectrum is to a target spectrum - Look into Caffe machine learning **June 8 [#june8] - Wrote MATLAB program to construct transfer matrix for n-th Fibonacci lattice - Plotted transmission probability as a function of frequency, 10th gen made a nice looking fractal To do: - Clean up MATLAB code - Plot E field in Fibonacci lattice as function of distance (z), see points of most enhancement **June 7 [#june7] - Walked to campus, took around 30 mins - Found explicit formula for n-th Fibonacci number, and wrote Python program to generate n-th iteration of the Fibonacci fractal - Had lunch with Hasdeo-san, bought lunch by weight from cafeteria (entrees 1.4 yen/g, rice .43 yen/g) - Derived matching (boundary) and propagation matrices in transfer matrix method, used to calculate R and T probabilities for comparison - Derived E and H relations from Maxwell's equations (Ampere's) - Introduced myself at group meeting, shared some omiyage from China - Set up printer over LAN, had to install driver manually To do: - Check that theory agrees with Snell's Law - Construct transfer matrix for n-th Fibonacci lattice **June 6 [#june6] - Shoufie-san picked me up from Urban Castle Kawauchi, took me to campus by subway (International Center -> Aobayama, 200 yen ~20 mins total) - Nugraha-sensei helped me set up lab server access, mail client, etc. - Bento lunch from Espace Ouvert restaurant (next to 7-11 on bottom floor of new building), ate with Saito-sensei who played his ukulele - Learned how to derive boundary conditions for EM wave passing from one dielectric media to another, using Maxwell's equations (Faraday's and Ampere's) - Solved for reflection and transmission probabilities at boundary for normal incident wave To do: - Test SHH from dorm room - Read pages on reflection and transmission of EM waves at boundary, and derive probabilities for both TE and TM both of oblique incident waves