Categories
CapstoneWeekly

New Technology in Project

This is the seventh week of the project. My groupmates and I started to feel tired and not as full of energy as we were at the beginning of the project. I wonder if other Project workers have encountered the same situation? It seems that my team and I need a better way to balance work and rest to ensure enough motivation. This is also the seventh week of my term. While working on this project, I am conducting a course related to Computer Graphics. This is not an easy task for me.

Before this week’s project meeting, our team made a big step forward on the learning curve of Webpack and Ploty. But a few people are still a little unfamiliar with these technologies. I will try to help them reach the required level before the implementation of the project starts.

Core Concepts of Webpack

  1. Entry: Instruct Webpack which module should be used as the start of building its internal dependency graph. After entering the starting point, Webpack will find out which modules and libraries are dependent on the starting point (directly and indirectly).
  2. Output: Tell Webpack where to output the result files it creates, and how to name these files. The default value is ./dist.
  3. Loader (module converter): Convert all types of files into valid modules that Webpack can handle, and then you can use Webpack’s packaging capabilities to process them.
  4. Plugins: Inject extension logic at specific times in the Webpack build process to change the build result or do what you want.
  5. Module: The developer decomposes the program into discrete functional blocks, which are called modules.

Webpack Execution Process

After Webpack is started, the module configured in the entry will begin to recursively parse all the modules that the entry depends on. Whenever a module is found, it will find the corresponding conversion rules according to the configured loader. After the module is converted, the current module depends on the analysis. Module, these modules will be grouped by entry. An entry and all dependent modules are also a chunk. Finally, Webpack will convert all chunks into files for output. In the entire process, Webpack will execute the plugin logic at the right time.

Categories
CapstoneWeekly

Start Technology Preparation

Celebrate that I have passed another busy week, and have finished three midterm exams! In order to improve the communication between team members, we added a meeting on Monday evening. Originally, our purpose was to complete the collaboration of the individual assignment last week. However, we realized that there was no assignment for collaboration this week, so we switched to exchanging information about the project and correct definitions of some terms given in HP’s official documents. At the same time, I started to improve my development environment, such as configuring the Flask and React running environment.

In the middle of this week, I discussed the design tool selection and learning curve with people in the discussion group. Two (to be precise, one, because I already have the experience of using LucidChart) design tools were added to my learning plan and prepared to use them in the design part of the project. I started to use LucidChart as my default UML diagram creating tool after the recommendation of my previous group mates. It is indeed very intuitive to provide users with all the functions needed to create UML diagrams.

I am also learning to use TensorBoard. My project may also involve the use of TensorFlow for NN development in the later stage. TensorBoard is the official visualization tool of Tensorflow, which can be used to display TensorFlow images, draw the quantitative index graphs generated by the images and additional data. When using Tensorflow to train a large number of deep neural networks, we hope to track the information of the entire training process of the neural network, such as how the parameters of each layer change and distribute during the iteration process, such as the model after each cycle parameter update What is the accuracy of the test set and training set, such as the change of loss value, etc. And TensorBoard can record and visualize some information during the training process.

Later, at the meeting on Friday, HP provided us with the code of a part of the project that they have completed. After browsing and running these codes, I have a deeper understanding of the project partner’s performance of the final result of this project.