Giter Club home page Giter Club logo

yihanzhou's Projects

capsnet-keras icon capsnet-keras

A Keras implementation of CapsNet in NIPS2017 paper "Dynamic Routing Between Capsules". Now test error = 0.34%.

capsule-gan icon capsule-gan

Code for my Master thesis on "Capsule Architecture as a Discriminator in Generative Adversarial Networks".

chord-protocol icon chord-protocol

For this project, we build a distributed hash table based on “Chord” protocol. The system can support concurrent operations for multiple clients. The client can store and fetch key-value pairs into the system. The system can also support file reading and store all pairs within the file. We build the system on a completely decentralized manner with a SuperNode knowing only a small part of information. SuperNode: SuperNode will maintain the node list of the system knowing all the information of the nodes in the system. The address of super node is well known for all the clients and new nodes. Each new node needs to contact the super node first to get a random node information of the system. Each client will also talk to the super node first to a random node information and do the following information. Super node will guarantee that there will be no concurrent node join and only return node information to clients when the system is ready (the number of nodes equals the configured node number) Node: Each node will maintain a part of the DHT and maintains a finger table storing partial information of the other nodes in the system to provide “shortcut” to other nodes. We use [ip]:[port] as the string to generate hash code. When a node first joins the system, it will talk to the super node first to get a random node existing in the system. Then the new node will use the existing information to build its own finger table and join the system. Updating the finger tables of other nodes is also the job of the new node. Each node provides multiple services for other nodes and clients to get its own information (finger entries and real data pairs). Client: Client is used to provide user interfaces to talk to the system. Client knows the super node information and will use a random node of the system as an enter point to get access to the whole system. There are 4 options a user can do: 1) To set a single pair into the system: book title and genre . Call setPair() with book title and genre. 2) To set book title and genre with an input file. Get each line of pairs and store them into the system. 3) To get book title, call getPair(). 4) Exit the system For each operation here, user can choose whether or not to print the tracking information.

lgubetterlife icon lgubetterlife

This repository contain several great life hacks for CUHK(SZ)

map_reduce_dictionary icon map_reduce_dictionary

Yihan Zhou; zhou1298; 5547186 Compile and Run 1) Open terminal and navigate to the project folder 2) Compile with the following command /PA1 $ make Then we got all the needed class files (“make clean” to clean all the class files) 3) Run Compute Node There is a file called “params.txt” in the project folder which is used to store the compute node info. ​This file will be read by the Server program​ in the next step. Each line stands for one compute node in the system in the pair format like <localhost,9091>. We need to make sure the info in the param.txt matches the actual running compute nodes to avoid the possible exceptions​. For [Time Delay], it is in milliseconds. Run Compute Node on different terminals: 1) navigate to the project folder 2) Example: ​/PA1 $ java -cp ".:/usr/local/Thrift/*" ComputeNode 9091 0.5 3000 4) Run Server After setting up the “params.txt” file mentioned in the previous step, we can run Server. For the [Policy], 1 is random policy and 2 is load-balancing policy. 1) navigate to the project folder 2) ​/PA1 $ java -cp ".:/usr/local/Thrift/*" Server [Port] [Policy] Example: ​/PA1 $ java -cp ".:/usr/local/Thrift/*" Server 9090 1 5) Run Client After Server and Compute Node are running, we can submit the job. 1) navigate to the project folder 2) ​/PA1 $ java -cp ".:/usr/local/Thrift/*" Client [ServerIP] [ServerPort] [Input Directory] Example: ​/PA1 $ java -cp ".:/usr/local/Thrift/*" Client localhost 9090 input_dir Note: 1) ​We assume input_dir, intermediate_dir and output_dir are already in the same directory with all the executable files​. 2) Thrift file is already generated. Do not need to generate them again. (We left thrift files in the folder for grading reason)

studentsmanagerweb icon studentsmanagerweb

麻雀虽小,五脏俱全。一个MVC+MySQL+Apache Tomcat的学生管理系统,学会了这系统,你也就学会了JSP、Servlet和数据库的工作原理。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.