WEST CHESTER, Pennsylvania — January 31, 2018 — Today, The Polaris Team released the Polaris February Update. The primary goal of this update is to improve the user experience of the administrators and weekend duty crews.
As I was beginning Project G.I.R.L, I knew that I wanted it to be a ‘by-women-for-women’ company. I wanted all of the contributors, photographers, graphic designers, programmers, and writers to be women.
In complete honesty, I did not want any boys or men to be apart of the project. I felt as though it would go against my message of female- empowerment if I had help from some of my male friends.
I realized that may have been the most unhealthy presumption I have ever had.
Do not get me wrong – I find great beauty and empowerment by all-female-businesses, but I realized that, if we are going to make any social change, we have to do it together. I (now) believe that the way to end so many of the gender issues within our society is by working together with men to put an end to social inequality between genders. We cannot end sexism and the inequality between genders, as women, on our own – we have to do it together. We are better together.
Additionally, after having an incredibly hectic week, I realized that I do not need to do this project on my own (this video from RockPaperRobot helped exemplify this for me: check it out!)
I can reach out to my artistic friends who can help me make a logo, I can reach out to my technologically savvy friends to help me build the basis of the website, and I can go to different people researching female inequality because I cannot have the mentality that I both need to and have to do everything, because that is physically impossible.
I do not need to do everything and take care of everyone, and even if I wanted to I can’t. Accepting this and opening myself up to other’s help has been a challenge…but I am so excited to see how Project G.I.R.L will benefit from other’s contributions
Inspired by Acceptance,
Founder of Project G.I.R.L
Miller, Jane. “’You Don’t Have To Do It All By Yourself’.” Jane Miller Design Studio, Lovely Templates, http://www.janaleemiller.com/2013/05/you-dont-have-to-do-it-all-by-yourself.html.
WEST CHESTER, Pennsylvania — January 31, 2018 — Today, Kevin Wang, developer of Argus and Count: A Very Simple Counter (Count), released Count 3.0 to the general public on the App Store. Originally released in 2015, Count is a simplistic and intelligent counter that allows users to count with gestures. The new Count has been completely rebuilt from the ground up and comes with new features including an improved UI, Sense, Random, and various bug fixes and stability improvements.
Over last semester, I wrote a series of blogs focusing on artificial intelligence and machine learning using artificial intelligence, especially that of image classifications. My independent project aimed to create and improve a convolutional neural network that identifies different categories of grocery. Through the semester, I gained considerable experiences working with Tensorflow, the most popular programming framework for machine learning. I also became proficient in creating and improving the neural network, raising its accuracy over 80 percent. Continue reading
Usually, I begin my independent project with a blog post containing a detailed plan for the semester. This time, I feel compelled to write about an interesting experience with submitting my app to Apple’s App Store and getting it rejected twice by the App Review Board.
Tensorflow is one of the most widely used programming frameworks for algorithms with a large number of mathematical operations and computations. Specifically, Tensorflow is designed for the algorithms of Machine Learning. Tensorflow was first developed by Google and its source code soon became available on Github, the largest open-source code sharing website. Google uses this library in almost its all Machine Learning applications. From Google photos to Google Voice, we have all been using Tensorflow directly or indirectly, while a fast-growing group of independent developers incorporates Tensorflow into their own software. Tensorflow is able to run on large clusters of computing hardware and its excellence in perceptual tasks gives it an edge to Tensorflow in competitions against other Machine Learning libraries.
In this blog, we will explore the conceptual structure of Tensorflow. Although Tensorflow is mostly used along with the programming language Python, only fundamental knowledge of computer science is needed for you to proceed further in this blog. As its name suggests, Tensorflow comprises two core components: the Tensors and the computational graph (or “the flow”). Let me briefly introduce each of them.
Mathematically speaking, a Tensor is an N-Dimensional vector representing a set of data in the N-Dimensional space. In other words, a Tensor includes a group of points in a coordinate with N axes. It is difficult to visualize points in high dimensions, but the following examples in two or three dimensions give a good idea of how Tensors look like.
As the dimension increases, the volume of data represented grows exponentially. For example, a Tensor with form (3,3) is a matrix with 3 rows and 3 columns, while a Tensor with form (6,7,8) is a set of 6 matrices with 7 rows and 8 columns. In these cases, the form (3,3) and the form (6,7,8) are called the shape or the Dimension of the Tensor. In Tensorflow, the Tensors could be either a constant with fixed values, or a variable allowing alternations during computations.
After we understand what Tensor means, it’s time to go with the Flow. The Flow refers to a computational graph or a graph in short. Such graphs are always acyclic, have a distinct input and output, and never feed back into itself. Each node in the graph represents a single mathematical operation. It could be an addition, a multiplication, etc. Data and numbers flow from one node to the next in the form of Tensors, and the result is a new Tensor. The following is a simple computational graph.
The expression of this graph is not complicated: e = (a+b)*(b+1). Let’s start from the bottom of the graph. The nodes at the lowest level of the graph are called leaves. The leaves of the graph do not accept inputs and only provides a Tensor as output. Actually, a Tensor would not be in a non-leaf node for this reason. The three leaves are variables a and b, and a constant 1.
One level up is two operation nodes. Each one of them represents an addition. Both take two inputs from the nodes below. These middle and higher levels depend on their predecessors, for they could not be computed without the outputs from a, b, or 1. Note that both addition operations are parallel to each other at the same level: Tensorflow does not need to wait on all of them to complete before moving on to the next node.
The final node is a multiplication node. It take c and d as input, forming the expression e = (c)*(d), while c = a+b and d = b+1. Therefore, combining the two expressions, we have the final result of e = (a+b)*(b+1).
That is all for our introduction to basic Tensorflow concepts. We will discuss further advanced features of Tensorflow in later posts. Stay tuned and see you next time!
In my last blog, I will talk about the progress I have made in my project in the past few weeks and share the future prospect of my project.
The past few weeks, a new member, Komeli, joined the Chester County China Initiative team. He has stayed in Beijing for 7 years and has learned mandarin during this stay. After graduating from Tsinghua University in 2013, Komeli started an international trade company. Continue reading
My independent project for this semester aims to create a report which compares several of the usual deep learning architectures using a set of grocery pictures. I started by watching and reading through open course materials and videos, which I found on the website of Stanford University, course CS231n. I also got in touch with a mentor from my hometown and sought his guidance on this topic. He is a graduate student at Fudan University, Shanghai. We arranged meetings every other week via Zoom and he has been helping me to better understand open course materials. Continue reading
This week’s blog will focus on my reflection on my project and what I have learned thus far. In addition to this, I will also talk about my goals for the remaining time of my project.
I think one of the biggest challenges I faced so far is the efficiency in moving my project forward. One of the unique parts of my project is that I am able to work with governing officials, but this has also posed problems for me since I am not able to control the pace of my project. The people I am working with generally take time to contact, and I cannot text them and expect an immediate response since they are all busy people.
As a result, I have developed patience and…subtle ways to remind them to respond to my emails. I think it’s also interesting to learn to work with different people.
In terms of how I am doing with my timeline, I think I am not following the timeline directly. Instead, I am incorporating various unplanned things into my timeline. For example, my original plan was to build a relationship with Chester County and Yanqing County. However, along the way, I also learned other interesting things such as the help desk and am working to see if I can do anything to help them.
Another important lesson I learned is how to best use my time. I think doing an independent project allows me to manage my time base on what I need and I have found ways to make my independent study efficient and effective. One of the ways I do this is through time management. Click here to learn more about time management!
In the last third of the semester, I would like to continue to work on the connection between Yanqing County and Chester County. Good news I have received this week is that there is a special person in the County that works on China Initiative, and I am already in contact with her. I hope we can move forward together.