Giter VIP home page Giter VIP logo

deprecated-laserweb3's Introduction

deprecated-laserweb3's People

Contributors

cojarbi avatar cprezzi avatar emteeoh avatar funinthefalls avatar kotiesmit avatar krolco avatar magicsmoke avatar maudette01432 avatar metalmusings avatar sherzberg avatar skarab42 avatar thantik avatar tritao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deprecated-laserweb3's Issues

Weird first line of Gcode

There is a weird line of Gcode right after the Y offset line, it is:
"G1 FNan"

I have pasted the first part of the generated code.

; Raster:
; Laser Min: 0%
; Laser Max: 100%
; Black Speed: 3000mm/s
; White Speed: 1200mm/s
; Resolution (mm per pixel): 0.1693333333333225mm
; Laser Spot Size: 0.1mm
; Laser Feedrate: {6}mm/s
; X Offset: 0mm
; Y Offset: 0mm

G1 FNaN
G0 Y230.000
G0 Y229.831

Best Practise: Smoothie Buffer

@wolfmanjm

Right, if I need to write a whole new buffer for SPJS, i'd rather start over fresh (In nodejs, where i am comfortable, and without the few hundred thousand lines of SPJS code to confuse me)

So, what I built here: https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js
node-serialport: Connect to a serail endpoint.

I have an array called gcodeQueue

To this queue I can prepend data (to push a request for position feedback into the queue in front) or append to the back - with respectively

https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L162- jumpQ (puts it in front)
https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L158 - addQ (adds it last)

Next I can take entries from this array, by shifting them out into a var https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L170-L177 and writing it to the serial port.

the send1Q function only sends one LINE of gcode.

It gets called after a 50ms delay after an OK (so simple ping pong buffer) - I also manually call it after adding a M114 to the queue: https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L114-L115

Now, theroetically, for marlin, that should result in a send, ok, send, ok.

But your conversation with regards to the USB driver buffer, has me doubting my own plans so just want to clarify if the above should work?

starting software problem

When I type node server I get this error:

module.js:327
throw err;
^

Error: Cannot find module 'C:\LaserWeb\server'

Can not generate gcode from bitmap

Can not generate gcode from a bitmap I loaded in LaserWeb3. This is the bitmap I have used for testing for quite some time now, so I figure it is not a file issue. It loads the bitmap OK, but generate Gcode does nothing.

! incomplete config error

!incomplete config error. I have made sure that I did configure all the required settings. Here is a copy and paste of the console:
Checking whether you have configured LaserWeb :

Checking : rapidSpeed : NOT SET undefined
Checking : autoClose : Yes
Checking : subnet1 : OPTIONAL
Checking : subnet2 : OPTIONAL
Checking : subnet3 : OPTIONAL
Checking : smoothieIp : OPTIONAL
Checking : laserXMax : 330
Checking : laserYMax : 230
Checking : spotSize : 0.2
Checking : startgcode : G28
Checking : laseron : OPTIONAL
Checking : laseroff : OPTIONAL
Checking : lasermultiply : 255
Checking : homingseq : G28
Checking : endgcode : G28
Checking : useOffset : Disable
Checking : imagePosition : TopLeft
Checking : useNumPad : Disable
Checking : useVideo : Disable
MISSING CONFIG: You need to configure LaserWeb for your setup.

It is the rapidfeeds setting that does not seem to save, even after entering a value in the field.

Missing New Line in "server-grbl.js"

Hi,
there is a missing new line in "server-grbl.js"

`$ node server-grbl.js
C:\LaserWeb3\server-grbl.js:28
var SerialPort = serialportvar
^

ReferenceError: serialportvar is not defined
at Object. (C:\LaserWeb3\server-grbl.js:28:18)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:968:3
`

Negative Zoom?

If you keep zooming in on the origin, at some point the entire image flips and then starts to zoom out. Before and after flip screenshots attached.
screenshot from 2016-08-02 19 40 37
screenshot from 2016-08-02 19 40 50

LaserWeb3 new feature: Tabbed CAM Layers

Layers in threejs for each of the tabs at top of 3d viewer:

gcodeview (hides all objects except the grid, axesgrp, and "object"

All layers - show everything

And then add tabs for each file opened...

Affect gcode export, (reorder tabs, add remove tabs, etc - should change final gcode)

PWM output from smoothie produces lower than expected power

https://goo.gl/photos/2oGmiGe7dG8DiqCZ8

This isn't directly related to LW but @openhardwarecoza asked that I post it here to start the discussion. The link about is pictures of the PWM output I am getting on an O-Scope from both an X5GT on the 1.23 pin and a SmoothieBrainz on the 2.5 pin.

They are obviously different. I have the scope for a couple more days if anyone wants to see output on specific settings let me know.

What brought this up was a large descrepancy between ma output from a AWC708 DSP controller and smoothie at 100%. The with the DSP controlling at 100% the PSU outputs about 32ma. With the smoothie the highest I've seen is 24ma. Usually 23.6. Im running a 100w tube and psu so 28 is a fairly reasonable number to see.

image
PWM output from Smoothie brainz no logic shifter

image
X5GT PWM after logic shifter

image
PWM output X5GT from pin 1.23 no logic shifter

Dual embedded Raster files

When I try to open an SVG file that has more than one embedded raster in it, it only displays one of the rasters.

Display path size

Show the path size. Want to make sure im scaling to the correct size

Starting LaseWeb - config issues

Looks like LaserWeb is looking for ethernet connectivity configuration even when connecting by USB. I get the following errors:
Checking : subnet1 : NOT SET
Checking : subnet2 : NOT SET
Checking : subnet3 : NOT SET
Checking : smoothieIp : NOT SET

This causes the ! incomplete config error to pop up.

Gcode created out of sequence

Here is the first part of the gcode file:
;Gcode generated by Laserweb Three2Gcode;
G28
G28
;End of file
; Raster:
; Laser Min: 10%
; Laser Max: 60%
; Black Speed: 4200mm/s
; White Speed: 1200mm/s
; Resolution (mm per pixel): 0.3527777777777552mm
; Laser Spot Size: 0.1mm
; Laser Feedrate: {6}mm/s
; X Offset: 0mm
; Y Offset: 0mm

G1 FNaN
G0 Y172.861
G0 X0.000 S0
G1 X0.706 S132 F3717
G1 X1.058 S131 F3672
G1 X1.411 S129 F3636
G1 X1.764 S131 F3672

The actual gcode should have been inbetween the two g28's, not after end of file

Best Practise: Grbl Buffer

@chamnit

Right, if I need to write a whole new buffer for SPJS (refer the fight in issue 52 on openhardwarecoza/LaserWeb2), i'd rather start over fresh (In nodejs, where i am comfortable, and without the few hundred thousand lines of SPJS code to confuse me)

So, what I built here: https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js
node-serialport: Connect to a serial endpoint. Keeping it VERY simple to start off...

I have an array called gcodeQueue

To this queue I can prepend data (to push a request for position feedback into the queue in front) or append to the back - with respectively

https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L162- jumpQ (puts it in front)
https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L158 - addQ (adds it last)

Next I can take entries from this array, by shifting them out into a var https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L170-L177 and writing it to the serial port.

the send1Q function only sends one LINE of gcode.

It gets called after a 50ms delay after an OK (so simple ping pong buffer) - I also manually call it after adding a M114 to the queue: https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L114-L115

Now, theoretically, for marlin, that should result in a send, ok, send, ok.

Can you advise me, what is the best way to get this done to Grbl?
We never could get it working nicely in Laserweb v 1 - LaserWeb/deprecated-LaserWeb1#94

In LaserWeb v2 it works, but depends on Serial Port JSON server (and I'm tired of being told of TinyG's superiority - so i'm moving on)

Appreciate any help, lets hope 3rd times the charm and we get Grbl + laserWeb playing really nicely under node-serialport!

Export not exporting revised gcode

Testing out editing gcode before saving when i delete lines in gcode and then hit save it still puts the lines back in the saved gcode. it also didnt do this everytime it did work once when i deleted the lines and saved.

side note can a check box be added that adds a G92 command and deletes the first 3 G0 commands so if available
laserweb issue
a person can set laser position manually with laser guidance from a memory card?

Not sure what is wrong

Previously had LaserWeb3 installed. deleted everyting and tried to install new version. the following is what I get.

C:>git clone https://github.com/openhardwarecoza/LaserWeb3.git
Cloning into 'LaserWeb3'...
remote: Counting objects: 3009, done.
remote: Compressing objects: 100% (2056/2056), done.
rRemote: Total 3009 (delta 797), reused 2928 (delta 716), pack-reused 0
Receiving objects: 100% (3009/3009), 7.30 MiB | 43.00 KiB/s, done.

Resolving deltas: 100% (797/797), done.
Checking connectivity... done.
Checking out files: 100% (2352/2352), done.

C:>cd LaserWeb3

C:\LaserWeb3>npm install

[email protected] install C:\LaserWeb3\node_modules\bufferutil
node-gyp rebuild

C:\LaserWeb3\node_modules\bufferutil>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:401:14)
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:356:11
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:82:15)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\LaserWeb3\node_modules\bufferutil
gyp ERR! node -v v4.4.5
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok

npm ERR! Windows_NT 10.0.10586
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! node v4.4.5
npm ERR! npm v2.15.5
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the bufferutil package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs bufferutil
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls bufferutil
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\LaserWeb3\npm-debug.log

C:\LaserWeb3>�

Feed rate

If you set move rate to 30 in the config, when generating raster gcode it sets the rate to 20mm/m I thought we had changed to mm/s?

Delayed coordinates display update when manual jogging.

I found the coordinates showing X/Y/Z position are delayed (looks like machine 'Run' status is frozen for a little while) when manually jogging from 0,0,0 to X- or Y- or Z+ (jog by just one click using 10mm jogging distance or few quick subsequent clicks to multiply that distance). After few moments the displayed value gets to the right one and status goes to 'Idle'.

I am running default config.txt and no motors connected at the moment, latest firmware and latest git pull.

Initial 0,0,0 position:
zrzut ekranu 2016-07-29 18 55 33

One click to Y-:
zrzut ekranu 2016-07-29 18 55 50

Three clicks to Z+:
zrzut ekranu 2016-07-29 19 13 39

Same as previous some seconds later (Z coord updated to 30):
zrzut ekranu 2016-07-29 19 16 03

Constructor error when attempting to open port

This is mostly to get the ball rolling as I do some debugging on my end. After finally getting the software to compile in npm with no issues, I opened the web frontend to tried to open all the different ports to get something to connect to the GRBL pre installed (v0.9) on my Azteeg Gradus M1 Pro. However, I'm greeted with the following error:

Missing error handler on `socket`.
TypeError: serialport is not a constructor
    at Socket.<anonymous> (/home/chip/Desktop/LaserWeb3/server-grbl.js:97:14)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at Socket.onevent (/home/chip/Desktop/LaserWeb3/node_modules/socket.io/lib/socket.js:335:8)
    at Socket.onpacket (/home/chip/Desktop/LaserWeb3/node_modules/socket.io/lib/socket.js:295:12)
    at Client.ondecoded (/home/chip/Desktop/LaserWeb3/node_modules/socket.io/lib/client.js:193:14)
    at Decoder.Emitter.emit (/home/chip/Desktop/LaserWeb3/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
    at Decoder.add (/home/chip/Desktop/LaserWeb3/node_modules/socket.io/node_modules/socket.io-parser/index.js:247:12)
    at Client.ondata (/home/chip/Desktop/LaserWeb3/node_modules/socket.io/lib/client.js:175:18)
    at emitOne (events.js:96:13)

Any thoughts? Everything's up to date as far as I can tell with "npm list"

Donate banner in the way

If you have multiple tabs open and they extend to the banner, you cannot close the tab, the banner click is in the way.

WORKFLOW: Solidworks to export a Polyline .DXF file

Simple workflow for exporting polyline type .dxf files form Solidworks. LaserWeb wants to see a polyline type file. a Circle that is exported to dxf and is not a polyline type will cause the laser to start and stop as it goes around drawing individual lines to make up the circle. This is not desirable. We need to make sure our .DXF exports as polyline type.

Solidworks to Polyline DXF.docx

Rotary Support (Work in progress): Preview basics done, next CAM!

The math is easy, https://github.com/openhardwarecoza/LaserWeb3/blob/9dd4ea2291941f97e8bd07261df150ce9b0cb877/public/js/viewer.js#L849-L850 - simple cos and tan theta calculations to find the point on a circle, where an angle is defined.

The first step is for us to be able to parse four axis gcode (for example 2D gcode converted by http://www.chestnutpens.co.uk/misc/gcodewrapper.html) - to show the A axis (in degrees) using the math above, into our 3D viewer. The reason I do this first is having a reliable preview available while working on the CAM side really helps move that fast. I did the same for raster. View first, then generate gcode that looks good in the view.
That needs to be coded in gcode-parser.js

Once we have reliable preview, we can extend the existing CAM code: This is actually easier, since we simply convert Y coordinates to degrees for the A axis.

Lastly (and this may take a few more weeks) we are waiting for the Smoothieware developers (@arthurwolf and @wolfmanjm ) to finish the Step generation Rewrite to support A axis on the machines; Grbl is a purely 3 axis firmware, and I dont plan on doing a "y-as-A-axis" hack support at all. If we add 4th axis, we do it by the BOOK! As an A Axis!

rotary

Marlin G7

@HakanBastedt - for now I removed your G7 raster code from laserraster.js but I put it in safekeeping. There has been a lot of changes to laserraster.js and raster.js over the last few weeks so we'll need to work those back into G7Rasterizer.

While looking at the rotary parsing, I only now noticed that you had some G7 parsing in the 3D viewer. https://github.com/openhardwarecoza/LaserWeb3/blob/master/public/lib/gcode-viewer/gcode-parser.js#L996

Whats the state of that? Or let me rephrase, once the marlin buffer work is done, what else was left to get G7 engrave working nicely for the Marlin folks?

WORKFLOW: Setting up a Multi-Step Laser Job

Simple workflow for setting up a multi-step job using LaserWeb. In this example I use Illustrator, but any vector authoring tool can be used. This way you can run a single job that does multiple things. such as engraves/etches text, cuts through some internal shapes and then finally cuts out the outline shape. All without having to setup 3 separate jobs to run on the work piece.

Dave

Setting up MSLJ.docx
Setting up MSLJ.pdf

Order process of Layers

Unable to select the order to process layers. Selects vectors ( svg or dxf ) first than image for raster

Tabbing off y-offset value in bitmap panel resets offsets to 0

I tried this on Safari 9.1.1 and Chrome Version 51.0.2704.103 (64-bit), using version 30170 of LW3.

In the CAM:Convert to G-CODE Panel, when I am editing the settings for a bitmap to be engraved, tabbing off the "Y" box in the "Position Offset" section into the "Bitmap Resolution" box causes both the X and Y values in Position Offset to reset to 0.

LaserWeb3 crashing

crashing with node server-grbl.js
using commit 0509791
node version v4.4.7

module.js:327
    throw err;
    ^

Error: Cannot find module 'dotenv'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/lila/github/LaserWeb3/config.js:1:63)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)```

TBD: Add Marlin Buffer

@thinkyhead @nextime @HakanBastedt

Right, if I need to write a whole new buffer for SPJS, i'd rather start over fresh (In nodejs, where i am comfortable, and without the few hundred thousand lines of SPJS code to confuse me)

So, what I built here: https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js
node-serialport: Connect to a serial endpoint. Keeping it VERY simple to start off...

I have an array called gcodeQueue

To this queue I can prepend data (to push a request for position feedback into the queue in front) or append to the back - with respectively

https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L162- jumpQ (puts it in front)
https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L158 - addQ (adds it last)

Next I can take entries from this array, by shifting them out into a var https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L170-L177 and writing it to the serial port.

the send1Q function only sends one LINE of gcode.

It gets called after a 50ms delay after an OK (so simple ping pong buffer) - I also manually call it after adding a M114 to the queue: https://github.com/openhardwarecoza/LaserWeb3/blob/master/server.js#L114-L115

Now, theoretically, for marlin, that should result in a send, ok, send, ok.?

Error sending gcode

I am having problems sending this gcode. I use the GRBL server and the code has been generated with the new laser multipass. I had no problems with LaserWeb3 before this one, when I updated from commit 9f2ff68 (when GRBL support was added) to the last commit (version bump, commit 145509b).

The problem is that you hit the Run button and machine doesn't move. It may happen when using the new multipass. I've noticed that the first line of the gcode is "undefined".

file.gcode.zip

WIP Feedrate for job buttons

I added the UI elements, but they need to be functionalised in ./js/jog.js

The two fields are jogfeedxy and jogfeedz (I gave Z its own for leadscrew Z machines that need a slow feed)

Next step in CAM UI: Click entity and set operation

I already coded up the UI element, when we click on entities from a DXF:

lw-select-entity

You can select the individual entity, as of yet I am only adding a Bounding Box to it, and showing the size. But the next level up might be to add a modal that pops up when you click it, with some cam options.

This is to extend the layer concept a little.

Right now each file becomes a layer, and for each layer you can set speeds, feeds/power and (in cnc mode) operation (inside, outside, etc)

But it would actually be nice to click the entity and then set its cam operation/speed/power/etc

This would probably mean replacing this cam panel:
panelcam

with something that allows us a more tree like view of the File->its child entitities -> Operation created for that child

I am thinking https://www.jstree.com/ (I use it on my home automation app (https://github.com/openhardwarecoza/ESP8266-Sketches/tree/master/htt-websocket-esp8266) and it works well, plus after the previous project I already know the code.

The caveat though, is to plan for the scenario where a user does not want to click a bunch of entities...

Can't install Serialport, is there an alternative?

So I have been searching for the past few days and it appears that I am not able to install any version of serialport on my ARMv7 board. I'm trying look around for another way still, but so far it does not appear to be possible. Any ideas of a package that will fulfill the function of serialport, but function in a Debian Jessie environment?

Traced vector returns previous trace

I think I may have read of this before but I can't find the issue.

Loaded bitmap A and traced to vector.
Deleted bitmap A
Deleted traced A layer

Browser not refreshed

Loaded bitmap B
Trace to vector returned vector trace from bitmap A

WORKFLOW: Use Macro Panel to create Laser Test-Fire button

Here is a WORKFLOW for creating a button that will pulse the laser for 1/10 second at a specified power level. I wanted this for doing Mirror alignment since I have removed the POT and test-fire button from my K40 control panel. I was just using the button on the laser power supply but it blasts right through the tape leaving adhesive crap on the mirrors. Now I can just use some thermal labels and just mark them by pressing the Maco button I created in the LaserWeb GUI.

LaserWeb Macro Panel.docx
G-Drive link with the images ( would not let me post the ZIP here) https://drive.google.com/open?id=0ByNecjb0RD-TbVdDMHdKVGV0WkU

First G1 code has no G1 and F parameter

The first 3 lines of my generated GCode looks like this:

G0 F3000 X15.750 Y0.345
 X15.750 Y0.345 Z0
G1 F1200 X15.750 Y0.345 Z0 S1.00

In the second line it's missing G1 F1200 at the beginning. Note also the line 2 starts with a space character.

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.