Deep convolutional neural networks have led to a series of breakthroughs in image recognition, which has attracted much attention in recent years. However, since the training and evaluation with deep neural networks are always resource-consuming and time-critical on the local machines, a clustered server for image recognition has been in high demand. In this project, we designed a client-server web application to resolve this problem. Specifically, the client submits any picture which needs to be classified as a website and the server runs the deep learning algorithm to predict the class label and return it back to the client. In such a way, we largely reduce the hardware requirement for the client to run deep CNNs and enhances resource usage at the server end.
Following the instruction to reserve a web server on GENI.
To set up the environment on the web server, please install conda
and use environment.yml
to install required packages.
Our Rspec is attached as follows:
<rspec xmlns="http://www.geni.net/resources/rspec/3" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:tour="http://www.protogeni.net/resources/rspec/ext/apt-tour/1" xmlns:jacks="http://www.protogeni.net/resources/rspec/ext/jacks/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd" type="request">
<node xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" client_id="node-0" component_id="urn:publicid:IDN+instageni.northwestern.edu+node+pc2" component_manager_id="urn:publicid:IDN+instageni.northwestern.edu+authority+cm" exclusive="false" sliver_id="urn:publicid:IDN+instageni.northwestern.edu+sliver+21525">
<icon xmlns="http://www.protogeni.net/resources/rspec/ext/jacks/1" url="https://portal.geni.net/images/Xen-VM.svg"/>
<routable_control_ip xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU14-64-STD"/>
</sliver_type>
<services>
<login authentication="ssh-keys" hostname="pcvm2-42.instageni.northwestern.edu" port="22" username="pinghu"/>
<login authentication="ssh-keys" hostname="pcvm2-42.instageni.northwestern.edu" port="22" username="xjhan"/>
<login authentication="ssh-keys" hostname="pcvm2-42.instageni.northwestern.edu" port="22" username="psohal"/>
<login authentication="ssh-keys" hostname="pcvm2-42.instageni.northwestern.edu" port="22" username="sunxm"/>
<login authentication="ssh-keys" hostname="pcvm2-42.instageni.northwestern.edu" port="22" username="matta"/>
<emulab:console server="vhost2.shared-nodes.emulab-ops.instageni.northwestern.edu"/>
</services>
<emulab:vnode hardware_type="pcvm" name="pcvm2-42"/>
<host ipv4="165.124.51.195" name="node-0.mini-lab-image-res.ch-geni-net.instageni.northwestern.edu"/>
</node>
<rs:site_info xmlns:rs="http://www.protogeni.net/resources/rspec/ext/site-info/1">
<rs:location country="" latitude="41.50588" longitude="-81.609169"/>
</rs:site_info>
</rspec>
- git clone our repo.
- under the repo, please run
server.py
to execute. The server is running at port13456
Please visit <server_url>:13456
(or using our public server) and test.