├── .gitignore ├── 01_basic.js ├── 02_hardware-software.js ├── 03_hardware-software-cached.js ├── README.md ├── data.json ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /01_basic.js: -------------------------------------------------------------------------------- 1 | const brain = require('brain.js'); 2 | 3 | const network = new brain.NeuralNetwork(); 4 | 5 | // network.train([ 6 | // { input: [0, 0, 0], output: [0] }, 7 | // { input: [0, 0, 1], output: [0] }, 8 | // { input: [0, 1, 1], output: [0] }, 9 | // { input: [1, 0, 1], output: [1] }, 10 | // { input: [1, 1, 1], output: [1] } 11 | // ]); 12 | 13 | network.train([ 14 | { input: [1, 2], output: [1] }, // Team 2 wins 15 | { input: [1, 3], output: [1] }, // Team 3 wins 16 | { input: [2, 3], output: [0] }, // Team 2 wins 17 | { input: [2, 4], output: [1] }, // Team 4 wins 18 | { input: [1, 2], output: [0] }, // Team 1 wins 19 | { input: [1, 3], output: [0] }, // Team 1 wins 20 | { input: [3, 4], output: [0] } // Team 3 wins 21 | ]); 22 | 23 | const output = network.run([1, 4]); 24 | 25 | console.log(`Prob: ${output}`); 26 | -------------------------------------------------------------------------------- /02_hardware-software.js: -------------------------------------------------------------------------------- 1 | const brain = require('brain.js'); 2 | const data = require('./data.json'); 3 | 4 | const network = new brain.recurrent.LSTM(); 5 | 6 | const trainingData = data.map(item => ({ 7 | input: item.text, 8 | output: item.category 9 | })); 10 | 11 | network.train(trainingData, { 12 | iterations: 2000 13 | }); 14 | 15 | const output = network.run('The code has some bugs'); 16 | 17 | console.log(`Category: ${output}`); 18 | -------------------------------------------------------------------------------- /03_hardware-software-cached.js: -------------------------------------------------------------------------------- 1 | const brain = require('brain.js'); 2 | const fs = require('fs'); 3 | const data = require('./data.json'); 4 | 5 | const networkPath = '03_hardware-software-cached.network.json'; 6 | 7 | const trainingData = data.map(item => ({ 8 | input: item.text, 9 | output: item.category 10 | })); 11 | 12 | const network = new brain.recurrent.LSTM(); 13 | let networkData = null; 14 | if (fs.existsSync(networkPath)) { 15 | networkData = JSON.parse(fs.readFileSync(networkPath)); 16 | network.fromJSON(networkData); 17 | } else { 18 | network.train(trainingData, { 19 | iterations: 2000 20 | }); 21 | fs.writeFileSync(networkPath, JSON.stringify(network.toJSON(), null, 2)); 22 | } 23 | 24 | const output = network.run('The code has some bugs'); 25 | 26 | console.log(`Category: ${output}`); 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Brain.js Simple Examples 2 | 3 | > These are some very basic examples from the YouTube "Simple Machine Learning Using JS" tutorial on YouTube. 4 | 5 | ## Adding Examples / Pull Requests 6 | 7 | Feel free to add some examples. Just create a new file, number and label it and add your code/training data, etc. Please leave comments to explain what your network does 8 | -------------------------------------------------------------------------------- /data.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "text": "my unit test failed", 4 | "category": "software" 5 | }, 6 | { 7 | "text": "tried the program, but it was buggy", 8 | "category": "software" 9 | }, 10 | { 11 | "text": "i need a new power supply", 12 | "category": "hardware" 13 | }, 14 | { 15 | "text": "the drive has a 2TB capacity", 16 | "category": "hardware" 17 | }, 18 | { 19 | "text": "unit-tests", 20 | "category": "software" 21 | }, 22 | { 23 | "text": "program", 24 | "category": "software" 25 | }, 26 | { 27 | "text": "power supply", 28 | "category": "hardware" 29 | }, 30 | { 31 | "text": "drive", 32 | "category": "hardware" 33 | }, 34 | { 35 | "text": "it needs more memory", 36 | "category": "hardware" 37 | }, 38 | { 39 | "text": "code", 40 | "category": "software" 41 | }, 42 | { 43 | "text": "i found some bugs in the code", 44 | "category": "software" 45 | }, 46 | { 47 | "text": "i swapped the memory", 48 | "category": "hardware" 49 | }, 50 | { 51 | "text": "i tested the code", 52 | "category": "software" 53 | }, 54 | { 55 | "text": "i love computers", 56 | "category": "hardware" 57 | }, 58 | { 59 | "text": "programming", 60 | "category": "software" 61 | }, 62 | { 63 | "text": "i broke my pc", 64 | "category": "hardware" 65 | }, 66 | { 67 | "text": "computer", 68 | "category": "hardware" 69 | }, 70 | { 71 | "text": "buy me a laptop", 72 | "category": "hardware" 73 | }, 74 | { 75 | "text": "i love to play games", 76 | "category": "software" 77 | } 78 | ] 79 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "brainjs_examples", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "acorn": { 8 | "version": "5.7.2", 9 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", 10 | "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==" 11 | }, 12 | "ansi-escapes": { 13 | "version": "1.4.0", 14 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 15 | "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" 16 | }, 17 | "ansi-regex": { 18 | "version": "2.1.1", 19 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 20 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 21 | }, 22 | "ansi-styles": { 23 | "version": "2.2.1", 24 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 25 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" 26 | }, 27 | "babel-polyfill": { 28 | "version": "6.23.0", 29 | "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", 30 | "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", 31 | "requires": { 32 | "babel-runtime": "^6.22.0", 33 | "core-js": "^2.4.0", 34 | "regenerator-runtime": "^0.10.0" 35 | } 36 | }, 37 | "babel-runtime": { 38 | "version": "6.26.0", 39 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 40 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 41 | "requires": { 42 | "core-js": "^2.4.0", 43 | "regenerator-runtime": "^0.11.0" 44 | }, 45 | "dependencies": { 46 | "regenerator-runtime": { 47 | "version": "0.11.1", 48 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", 49 | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" 50 | } 51 | } 52 | }, 53 | "brain.js": { 54 | "version": "1.2.6", 55 | "resolved": "https://registry.npmjs.org/brain.js/-/brain.js-1.2.6.tgz", 56 | "integrity": "sha512-vhqQiGEaXt2XUtUbvdO1DxwsGZ9S4Bq4NVaopbwlV5s1CylYmkFxUC4ID5kVnIH1R2/iCEEBXMbOkfwJBtubwA==", 57 | "requires": { 58 | "gpu.js": "^1.2.0", 59 | "opencollective": "^1.0.3", 60 | "thaw.js": "^2.0.0" 61 | } 62 | }, 63 | "chalk": { 64 | "version": "1.1.3", 65 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 66 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 67 | "requires": { 68 | "ansi-styles": "^2.2.1", 69 | "escape-string-regexp": "^1.0.2", 70 | "has-ansi": "^2.0.0", 71 | "strip-ansi": "^3.0.0", 72 | "supports-color": "^2.0.0" 73 | } 74 | }, 75 | "chardet": { 76 | "version": "0.4.2", 77 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", 78 | "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" 79 | }, 80 | "cli-cursor": { 81 | "version": "2.1.0", 82 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 83 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 84 | "requires": { 85 | "restore-cursor": "^2.0.0" 86 | } 87 | }, 88 | "cli-width": { 89 | "version": "2.2.0", 90 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 91 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" 92 | }, 93 | "core-js": { 94 | "version": "2.5.7", 95 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", 96 | "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" 97 | }, 98 | "encoding": { 99 | "version": "0.1.12", 100 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", 101 | "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", 102 | "requires": { 103 | "iconv-lite": "~0.4.13" 104 | } 105 | }, 106 | "escape-string-regexp": { 107 | "version": "1.0.5", 108 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 109 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 110 | }, 111 | "external-editor": { 112 | "version": "2.2.0", 113 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", 114 | "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", 115 | "requires": { 116 | "chardet": "^0.4.0", 117 | "iconv-lite": "^0.4.17", 118 | "tmp": "^0.0.33" 119 | } 120 | }, 121 | "figures": { 122 | "version": "2.0.0", 123 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 124 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 125 | "requires": { 126 | "escape-string-regexp": "^1.0.5" 127 | } 128 | }, 129 | "gpu.js": { 130 | "version": "1.6.0", 131 | "resolved": "https://registry.npmjs.org/gpu.js/-/gpu.js-1.6.0.tgz", 132 | "integrity": "sha512-iGy25jR0oJXRc6xgzfV8qI2bd9DrG4Qul3+hUQXORWL7F0i/y0lps4EtFvbOhjDZRfXAYewq6I2uTKX7vTSQ5A==", 133 | "requires": { 134 | "acorn": "^5.1.1" 135 | } 136 | }, 137 | "has-ansi": { 138 | "version": "2.0.0", 139 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 140 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 141 | "requires": { 142 | "ansi-regex": "^2.0.0" 143 | } 144 | }, 145 | "iconv-lite": { 146 | "version": "0.4.24", 147 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 148 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 149 | "requires": { 150 | "safer-buffer": ">= 2.1.2 < 3" 151 | } 152 | }, 153 | "inquirer": { 154 | "version": "3.0.6", 155 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", 156 | "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", 157 | "requires": { 158 | "ansi-escapes": "^1.1.0", 159 | "chalk": "^1.0.0", 160 | "cli-cursor": "^2.1.0", 161 | "cli-width": "^2.0.0", 162 | "external-editor": "^2.0.1", 163 | "figures": "^2.0.0", 164 | "lodash": "^4.3.0", 165 | "mute-stream": "0.0.7", 166 | "run-async": "^2.2.0", 167 | "rx": "^4.1.0", 168 | "string-width": "^2.0.0", 169 | "strip-ansi": "^3.0.0", 170 | "through": "^2.3.6" 171 | } 172 | }, 173 | "is-fullwidth-code-point": { 174 | "version": "2.0.0", 175 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 176 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 177 | }, 178 | "is-promise": { 179 | "version": "2.1.0", 180 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 181 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" 182 | }, 183 | "is-stream": { 184 | "version": "1.1.0", 185 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 186 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 187 | }, 188 | "lodash": { 189 | "version": "4.17.10", 190 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 191 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" 192 | }, 193 | "mimic-fn": { 194 | "version": "1.2.0", 195 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 196 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" 197 | }, 198 | "minimist": { 199 | "version": "1.2.0", 200 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 201 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" 202 | }, 203 | "mute-stream": { 204 | "version": "0.0.7", 205 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 206 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" 207 | }, 208 | "node-fetch": { 209 | "version": "1.6.3", 210 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", 211 | "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", 212 | "requires": { 213 | "encoding": "^0.1.11", 214 | "is-stream": "^1.0.1" 215 | } 216 | }, 217 | "object-assign": { 218 | "version": "4.1.1", 219 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 220 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 221 | }, 222 | "onetime": { 223 | "version": "2.0.1", 224 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 225 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 226 | "requires": { 227 | "mimic-fn": "^1.0.0" 228 | } 229 | }, 230 | "opencollective": { 231 | "version": "1.0.3", 232 | "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", 233 | "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=", 234 | "requires": { 235 | "babel-polyfill": "6.23.0", 236 | "chalk": "1.1.3", 237 | "inquirer": "3.0.6", 238 | "minimist": "1.2.0", 239 | "node-fetch": "1.6.3", 240 | "opn": "4.0.2" 241 | } 242 | }, 243 | "opn": { 244 | "version": "4.0.2", 245 | "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", 246 | "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", 247 | "requires": { 248 | "object-assign": "^4.0.1", 249 | "pinkie-promise": "^2.0.0" 250 | } 251 | }, 252 | "os-tmpdir": { 253 | "version": "1.0.2", 254 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 255 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 256 | }, 257 | "pinkie": { 258 | "version": "2.0.4", 259 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 260 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" 261 | }, 262 | "pinkie-promise": { 263 | "version": "2.0.1", 264 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 265 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 266 | "requires": { 267 | "pinkie": "^2.0.0" 268 | } 269 | }, 270 | "regenerator-runtime": { 271 | "version": "0.10.5", 272 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", 273 | "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" 274 | }, 275 | "restore-cursor": { 276 | "version": "2.0.0", 277 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 278 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 279 | "requires": { 280 | "onetime": "^2.0.0", 281 | "signal-exit": "^3.0.2" 282 | } 283 | }, 284 | "run-async": { 285 | "version": "2.3.0", 286 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 287 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 288 | "requires": { 289 | "is-promise": "^2.1.0" 290 | } 291 | }, 292 | "rx": { 293 | "version": "4.1.0", 294 | "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", 295 | "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" 296 | }, 297 | "safer-buffer": { 298 | "version": "2.1.2", 299 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 300 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 301 | }, 302 | "signal-exit": { 303 | "version": "3.0.2", 304 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 305 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 306 | }, 307 | "string-width": { 308 | "version": "2.1.1", 309 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 310 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 311 | "requires": { 312 | "is-fullwidth-code-point": "^2.0.0", 313 | "strip-ansi": "^4.0.0" 314 | }, 315 | "dependencies": { 316 | "ansi-regex": { 317 | "version": "3.0.0", 318 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 319 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 320 | }, 321 | "strip-ansi": { 322 | "version": "4.0.0", 323 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 324 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 325 | "requires": { 326 | "ansi-regex": "^3.0.0" 327 | } 328 | } 329 | } 330 | }, 331 | "strip-ansi": { 332 | "version": "3.0.1", 333 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 334 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 335 | "requires": { 336 | "ansi-regex": "^2.0.0" 337 | } 338 | }, 339 | "supports-color": { 340 | "version": "2.0.0", 341 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 342 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" 343 | }, 344 | "thaw.js": { 345 | "version": "2.0.0", 346 | "resolved": "https://registry.npmjs.org/thaw.js/-/thaw.js-2.0.0.tgz", 347 | "integrity": "sha1-RSvF1+4s4bb5IDewW1BsvWVikdA=" 348 | }, 349 | "through": { 350 | "version": "2.3.8", 351 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 352 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 353 | }, 354 | "tmp": { 355 | "version": "0.0.33", 356 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 357 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 358 | "requires": { 359 | "os-tmpdir": "~1.0.2" 360 | } 361 | } 362 | } 363 | } 364 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "brainjs_examples", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "brain.js": "^1.2.6" 14 | } 15 | } 16 | --------------------------------------------------------------------------------