diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..47fa8d73
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,29 @@
+name: build
+
+on:
+ # Triggers the workflow on push or pull request events but only for the master branch
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+ schedule:
+ - cron: "0 0 * * *"
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ matrix:
+ node-version: [16]
+ os: [ubuntu-latest, macos-latest, windows-latest]
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ matrix.node-version }}
+ - name: Install dependencies
+ run: npm install
+ - name: Build
+ run: npm run build
diff --git a/.gitignore b/.gitignore
index 5e9d8d61..75f3ff7c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,10 +3,11 @@ node_modules
public/bundle.*
package-lock.json
public/assets/js/bundle.*
+public/assets/js/
public/assets/css/bundle.*
*.swp
yarn.lock
dist/
-deploy-gh-page.sh
local-build/
tiny-vgg/data/
+pnpm-lock.yaml
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 63c5ac9c..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-language: node_js
-node_js:
- - lts/*
-install:
- - npm install
-script:
- - npm run build
diff --git a/README.md b/README.md
index 15986179..41e50693 100644
--- a/README.md
+++ b/README.md
@@ -2,17 +2,17 @@
An interactive visualization system designed to help non-experts learn about Convolutional Neural Networks (CNNs)
-[](https://travis-ci.com/poloclub/cnn-explainer)
+[](https://github.com/poloclub/cnn-explainer/actions)
[](http://arxiv.org/abs/2004.15004)
+[](https://doi.org/10.1109/TVCG.2020.3030418)
-
+
For more information, check out our manuscript:
[**CNN Explainer: Learning Convolutional Neural Networks with Interactive Visualization**](https://arxiv.org/abs/2004.15004).
Wang, Zijie J., Robert Turko, Omar Shaikh, Haekyu Park, Nilaksh Das, Fred Hohman, Minsuk Kahng, and Duen Horng Chau.
-arXiv preprint 2020. arXiv:2004.15004.
-
+*IEEE Transactions on Visualization and Computer Graphics (TVCG), 2020.*
## Live Demo
@@ -22,7 +22,7 @@ For a live demo, visit: http://poloclub.github.io/cnn-explainer/
Clone or download this repository:
-```
+```bash
git clone git@github.com:poloclub/cnn-explainer.git
# use degit if you don't want to download commit histories
@@ -31,32 +31,33 @@ degit poloclub/cnn-explainer
Install the dependencies:
-```
+```bash
npm install
```
Then run CNN Explainer:
-```
+```bash
npm run dev
```
-Navigate to [localhost:5000](https://localhost:5000). You should see CNN Explainer running in your broswer :)
+Navigate to [localhost:3000](https://localhost:3000). You should see CNN Explainer running in your broswer :)
To see how we trained the CNN, visit the directory [`./tiny-vgg/`](tiny-vgg).
+If you want to use CNN Explainer with your own CNN model or image classes, see [#8](/../../issues/8) and [#14](/../../issues/14).
## Credits
-CNN Explainer was created by
+CNN Explainer was created by
Jay Wang,
-Robert Turko,
+Robert Turko,
Omar Shaikh,
Haekyu Park,
Nilaksh Das,
Fred Hohman,
Minsuk Kahng, and
Polo Chau,
-which was the result of a research collaboration between
+which was the result of a research collaboration between
Georgia Tech and Oregon State.
We thank
@@ -65,27 +66,24 @@ We thank
[Kantwon Rogers](https://www.kantwon.com), and the
[Georgia Tech Visualization Lab](http://vis.gatech.edu)
for their support and constructive feedback.
-
+
## Citation
-```
+
+```bibTeX
@article{wangCNNExplainerLearning2020,
title = {{{CNN Explainer}}: {{Learning Convolutional Neural Networks}} with {{Interactive Visualization}}},
shorttitle = {{{CNN Explainer}}},
author = {Wang, Zijie J. and Turko, Robert and Shaikh, Omar and Park, Haekyu and Das, Nilaksh and Hohman, Fred and Kahng, Minsuk and Chau, Duen Horng},
- year = {2020},
- month = apr,
- archivePrefix = {arXiv},
- eprint = {2004.15004},
- eprinttype = {arxiv},
- journal = {arXiv:2004.15004 [cs]}
+ journal={IEEE Transactions on Visualization and Computer Graphics (TVCG)},
+ year={2020},
+ publisher={IEEE}
}
```
## License
+
The software is available under the [MIT License](https://github.com/poloclub/cnn-explainer/blob/master/LICENSE).
## Contact
-If you have any questions, feel free to [open an issue](https://github.com/poloclub/cnn-explainer/issues/new/choose) or contact [Jay Wang](https://www.zijie.wang).
-
-
+If you have any questions, feel free to [open an issue](https://github.com/poloclub/cnn-explainer/issues/new/choose) or contact [Jay Wang](https://zijie.wang).
diff --git a/deploy-gh-page.sh b/deploy-gh-page.sh
new file mode 100644
index 00000000..92f96295
--- /dev/null
+++ b/deploy-gh-page.sh
@@ -0,0 +1,5 @@
+npm run build
+cp -r ./public/assets ./dist
+cp -r ./public/bundle* ./dist
+cp -r ./public/global.css ./dist
+npx gh-pages -m "Deploy $(git log '--format=format:%H' master -1)" -d ./dist
\ No newline at end of file
diff --git a/package.json b/package.json
index daa172c7..570e7251 100644
--- a/package.json
+++ b/package.json
@@ -3,13 +3,14 @@
"version": "1.0.0",
"devDependencies": {
"@rollup/plugin-replace": "^2.3.2",
+ "gh-pages": "^6.0.0",
"rollup": "^1.27.13",
"rollup-plugin-commonjs": "^10.0.0",
"rollup-plugin-livereload": "^1.0.0",
"rollup-plugin-node-resolve": "^5.2.0",
- "rollup-plugin-svelte": "^5.1.1",
+ "rollup-plugin-svelte": "~6.1.1",
"rollup-plugin-terser": "^5.1.3",
- "svelte": "^3.16.4"
+ "svelte": "^3.31.0"
},
"dependencies": {
"@tensorflow/tfjs": "^1.4.0",
@@ -19,6 +20,7 @@
"build": "rollup -c",
"dev": "rollup -c -w",
"start": "sirv public --single",
- "start:dev": "sirv public --single --dev"
+ "start:dev": "sirv public --single --dev --port 3000",
+ "deploy": "npx"
}
}
diff --git a/public/assets/figures/preview.png b/public/assets/figures/preview.png
new file mode 100644
index 00000000..0a63099a
Binary files /dev/null and b/public/assets/figures/preview.png differ
diff --git a/public/assets/figures/relu_graph.png b/public/assets/figures/relu_graph.png
new file mode 100644
index 00000000..3db6ddbd
Binary files /dev/null and b/public/assets/figures/relu_graph.png differ
diff --git a/public/assets/figures/relu_graph.svg b/public/assets/figures/relu_graph.svg
deleted file mode 100644
index 28b9d559..00000000
--- a/public/assets/figures/relu_graph.svg
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
diff --git a/public/assets/css/global.css b/public/global.css
similarity index 100%
rename from public/assets/css/global.css
rename to public/global.css
diff --git a/public/index.html b/public/index.html
index 56cdf58c..ef28dbba 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,34 +1,91 @@
-
+
-
- The ReLU activation function is a one-to-one mathematical operation: {reluEquation} + The ReLU activation function is an elementwise mathematical operation: {reluEquation}