Code Monkey home page Code Monkey logo

apollo_perception_ros's Introduction

Apollo Perception Standalone in ROS

Apollo is the most mature and sophisticated autonomous driving platform that is open source right now.

However, there are some limitations.

  • Apollo (r3.0) is built upon a customized ROS environment, which is not compatible with normal ROS packages / plugins.
  • Apollo (r3.5) abandons ROS and uses Cyber RT instead.
  • If you want to understand their code and test it with your own application, you will need to have a good understanding of their framework before you can make any modifications.

Have you wondered, what if everything can be run as a standard ROS node and you can use all the familiar tools that are available in ROS? Then this repository is what you need!

Apollo Perception Architecture
Apollo Perception Architecture
Apollo Perception Overview
Apollo Perception Overview
Demo of Perception
Perception with demo-2.0.bag

The obstacle perception module in Apollo (r3.0) is extracted and modified so that it can be run as a normal ROS node. Everything is inside docker environment. Detailed steps of building and running the perception module are listed as follows.

I myself find learning Apollo's approach in perception very beneficial to helping me understand how the perception architecture is set up. I hope you find this repo useful as well.

All contributions are welcome!! There are so many things that can be improved. Please raise issues and/or make pull requests if you would like to work on it too. Thank you.

Environment Information

The system is tested on Nvidia GeForce GTX 1080 Ti and 1070 Max-Q. Please install Nvidia Driver, Docker, and Nvidia Docker.

Dependencies Image Environment
Nvidia Driver (Tested on 384.130) Ubuntu 14.04
Nvidia Docker (Tested on 2) Cuda 8.0 + Cudnn 7

Building and Running

  1. Clone Repository in Host
mkdir ~/shared_dir && cd ~/shared_dir
git clone https://github.com/cedricxie/apollo_perception_ros
  1. Pull Dokcer Image
    docker pull cedricxie/apollo-perception-ros

  2. Enter Docker Container
    cd ~/shared_dir/apollo_perception_ros && ./docker/run.sh

  3. Make ROS Packages

cd ~/shared_dir/apollo_perception_ros/
catkin build
source devel/setup.bash
  1. Launch Perception Node
    roslaunch vehicle_base detect_sim.launch

  2. Playback Demo-2.0.bag from Apollo
    rosbag play demo-2.0.bag --clock
    The bag can be downloaded at Apollo Data Open Platform, Vehicle System Demo Data, with file name demo-sensor-data-apollo-2.0.tar.gz.

Known issues

  1. During building process, an error such as follows might occur. Usually do catkin build again can skip the problem. I am still trying to figure out how to complete solve it. Let me know if you find out a solution.
/usr/include/c++/4.8/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
  1. Continental radar detection messages are in Protobuf format inside the ROS bag. Therefore it is not currently supported. However if you have your own radar, you can utilize the modest radar detector in the perception module to integrate into the system.

To Do:

  1. Add ego motion compensation.
  2. Add sequence type fuser
  3. Add Prediction / Planning modules.

apollo_perception_ros's People

Contributors

cedricxie 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

apollo_perception_ros's Issues

An error when runing sudo ./run.sh

Linux 16.0.4
Docker 19.03.1
NVIDIA Docker: 1.0.1

(base) ivlab@ivlab:~/shared_dir/apollo_perception_ros$ sudo ./docker/run.sh
Shared directory: /home/root/shared_dir
docker: Error response from daemon: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v1.linux/moby/1598507c8c9d8bb6a2f94748b4edec40ffc51bd2458dfc473f7d395931596188/log.json: no such file or directory): fork/exec /usr/bin/nvidia-container-runtime: no such file or directory: : unknown.

Do you have any idea about this problem?

the hardware requirement

Hi,
As you mentioned, you have tested on Nvidia 1080ti and 1070 Max-Q. My HW is Nvidia Gefore 1060, is it fine for this project? thanks.

docker download is too slow

Hi, can you give me a google drive path or other path for your docker, I don't know why for part of the docker, download is too slow:
Using default tag: latest
latest: Pulling from cedricxie/apollo-perception-ros
027274c8e111: Pull complete
d3f9339a1359: Pull complete
872f75707cf4: Pull complete
dd5eed9f50d5: Pull complete
0affbf21f3e0: Pull complete
102e0b9e0fa6: Pull complete
7a5762133972: Pull complete
7390ea1b92fd: Downloading [> ] 8.592MB/433.7MB
015b1bc78af5: Download complete
b127a5453327: Download complete
09cf98e45e12: Download complete
1a743bd67889: Download complete
39548a2c0678: Download complete
1c7af04c6313: Download complete
c31a6213c87e: Download complete
d1d4ba3583f7: Download complete
5ac0d875597b: Download complete

can not build

@cedricxie hi,I have done step by step ,but enter the docker ,the inside does not have anything,can not use the command catkin build,I don't know the reson

catkin build error

nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/include/cuda_util/util.h(60): error: namespace "std" has no member "shared_ptr"

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/include/cuda_util/util.h(60): error: expected a ")"

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/include/cuda_util/util.h(63): error: namespace "std" has no member "shared_ptr"

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/include/cuda_util/util.h(63): error: expected a ")"

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(133): error: namespace "std" has no member "shared_ptr"

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(133): error: expected a ")"

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(145): error: identifier "src_gpu" is undefined

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(145): error: identifier "nullptr" is undefined

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(155): error: namespace "std" has no member "shared_ptr"

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(155): error: expected a ")"

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(155): error: function "apollo_perception_standalone::resize" has already been defined

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(168): error: identifier "src_gpu" is undefined

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(168): error: identifier "nullptr" is undefined

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(175): error: identifier "mean_b" is undefined

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(175): error: identifier "mean_g" is undefined

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(175): error: identifier "mean_r" is undefined

/home/yx/shared_dir/apollo_perception_ros/src/perception/apollo_perception_ros/src/cuda_util/util.cu(175): error: identifier "scale" is undefined

17 errors detected in the compilation of "/tmp/tmpxft_00004cb3_00000000-7_util.cpp1.ii".
CMake Error at cuda_util_lib_generated_util.cu.o.cmake:264 (message):
Error generating file
/home/yx/shared_dir/apollo_perception_ros/build/apollo_perception_ros/src/CMakeFiles/cuda_util_lib.dir/cuda_util/./cuda_util_lib_generated_util.cu.o

make[2]: *** [src/CMakeFiles/cuda_util_lib.dir/cuda_util/./cuda_util_lib_generated_util.cu.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [src/CMakeFiles/cuda_util_lib.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2

Some problems occurred while running

Hi, I'm also a fan of apollo, so glad that you could provide the perception part of ros version, but I have some problems:

  1. When we run the demo-2.0.bag provided by your link, no images showed in rviz and said "unsupported endcoding yuyv", is there something wrong with the video image format? or do we need to transform the image format first?(How to do that btw)

  2. To show the cluster results of the laser point clouds, it needs to combine the image data from the camera to function normally (so called fusion), or it could work both seperately(camera peception and lidar perception)?

  3. When I delete build and devel folders and rebuild, still some errors occurred in building, errors in files util.cu and util.h, and 1 package build failed, is that normal?

Looking forward for your reply, thx

我是国人,可以中文交流,谢啦

A probability issue relate with CUDA10

I know cuda10 is new but since I am using tensorflow 2.0 apis so move on cuda10 is the eventually things, this codes now can not built on cuda10, it has this error:

apollo_perception_ros/src/cuda_util/util.cu(155): error: incomplete type is not allowed

this file, this line, and only 1 error. Does this can be fix for cuda10 compatible?

.bag包使用问题

你好,rosbag数据包是否应该放在容器环境下才能使用?
~/桌面/rosbag$ rosbag play demo-2.0.bag --clock
[ INFO] [1626150183.325881367]: Opening demo-2.0.bag
[rospack] Error: package 'rosbag_storage' not found
[librospack]: error while executing command
[FATAL] [1626150183.387878970]: Unable to find package: rosbag_storage

permute_layer.cu:47] Check failed: error == cudaSuccess (8 vs. 0) invalid device function

Thank you for this project, it really helps. When running the node, an error would always occurred. The GPU device on My host machine is NVIDIA RTX2060 , and driver version is 460.73.01, UBUNTU 18.04.

please check:

auto-starting new master
process[master]: started with pid [16304]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to a6e39dce-c457-11eb-84b4-3c9c0fb840d4
process[rosout-1]: started with pid [16317]
started core service [/rosout]
process[perception_yx_node-2]: started with pid [16334]
process[robot_state_publisher-3]: started with pid [16343]
process[joint_state_publisher-4]: started with pid [16344]
WARNING: Logging before InitGoogleLogging() is written to STDERR
W0603 10:37:11.385072 16334 perception_yx.cpp:51] Sensor Lidar: Enabled, Logging: False
W0603 10:37:11.385154 16334 perception_yx.cpp:55] Sensor Radar: Disabled, Logging: False
W0603 10:37:11.385161 16334 perception_yx.cpp:59] Sensor Camera Long: Enabled, Logging: True
W0603 10:37:11.385167 16334 perception_yx.cpp:63] Sensor Camera Short: Enabled, Logging: True
W0603 10:37:11.385174 16334 perception_yx.cpp:67] Fusion, Logging: True
W0603 10:37:11.385179 16334 perception_yx.cpp:69] Image Resize Factor: 1
W0603 10:37:11.390164 16334 perception_yx.cpp:83] Parse camera calibration : success
process[rviz-5]: started with pid [16406]
.....
.....
Warning: TF_OLD_DATA ignoring data from the past for frame novatel at time 1.51381e+09 according to authority unknown_publisher Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained at line 277 in /tmp/binarydeb/ros-indigo-tf2-0.5.20/src/buffer_core.cpp
F0603 10:33:18.607558 15890 permute_layer.cu:47] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
*** Check failure stack trace: ***

Unknown runtime specified nvidia.

when run bash -x docker/run.sh

  • '[' '' = '' ']'

  • DOCKER_NAME=cedricxie/apollo-perception-ros:latest

  • XSOCK=/tmp/.X11-unix

  • XAUTH=/home/phe/.Xauthority

  • SHARED_DIR=/home/yx/shared_dir

  • HOST_DIR=/home/phe/shared_dir

  • mkdir -p /home/phe/shared_dir

  • echo 'Shared directory: /home/phe/shared_dir'
    Shared directory: /home/phe/shared_dir

  • docker run -it --rm --volume=/home/phe/shared_dir:/home/yx/shared_dir:rw --volume=/tmp/.X11-unix:/tmp/.X11-unix:rw --volume=/home/phe/.Xauthority:/home/phe/.Xauthority:rw --env=XAUTHORITY=/home/phe/.Xauthority --env=DISPLAY=:0 --env=QT_X11_NO_MITSHM=1 -u yx --privileged -v /dev/bus/usb:/dev/bus/usb -v /dev/video0:/dev/video0 --net=host --runtime=nvidia cedricxie/apollo-perception-ros:latest
    docker: Error response from daemon: Unknown runtime specified nvidia.
    See 'docker run --help'.

    error :--runtime=nvidia \
    how to slove it?

Usage of Velodyne bag files

Hello, @cedricxie. Thank you for your excellent work. I implemented your work with the demo bag files, and it worked perfectly. However, I want to know where I need to make changes if I want to use bag files from other resources or directly use any 3D Lidar.

Camera_process error: failed to get trans at timestamp

When i try to play back the Demo-Bag, an error ocured in Camera_process: It seems like that the process cannot transfer the coordinates between camrea coordinate and word coordinate. The error said that base_link frame and camera_long frame do not exist.
Could anyone help to solve this problem? Thank you!

E1012 07:28:25.382164 300 camera_process.cc:291] Cannot transform frame: base_link to frame camera_long , err: canTransform: target_frame base_link does not exist. canTransform: source_frame camera_long does not exist.. Frames: Frame localization exists with parent world.
Frame novatel exists with parent world.
E1012 07:28:25.382179 300 camera_process.cc:135] failed to get trans at timestamp: 1.63402e+09

protobuf error

Trying compile the whole code in the single ros-kinetic environment .
Got some the libprotobuf error:

[100%] Building CXX object perception/apollo_perception_ros/src/CMakeFiles/perception_yx_node.dir/perception_yx.cpp.o
[100%] Linking CXX executable /home/aisimba/perception_ws/devel/lib/apollo_perception_ros/perception_yx_node
/usr/bin/ld: warning: libboost_system.so.1.54.0, needed by /home/aisimba/Documents/caffe_x86/output-GPU/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_thread.so.1.54.0, needed by /home/aisimba/Documents/caffe_x86/output-GPU/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_filesystem.so.1.54.0, needed by /home/aisimba/Documents/caffe_x86/output-GPU/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libprotobuf.so.13, needed by /home/aisimba/Documents/caffe_x86/output-GPU/lib/libcaffe.so, may conflict with libprotobuf.so.9
/usr/bin/ld: /home/aisimba/perception_ws/devel/lib/libroi_filter_proto_lib.so: undefined reference to symbol '_ZN6google8protobuf8internal16RegisterAllTypesEPKNS0_8MetadataEi'
/usr/local/lib/libprotobuf.so.13: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
perception/apollo_perception_ros/src/CMakeFiles/perception_yx_node.dir/build.make:536: recipe for target '/home/aisimba/perception_ws/devel/lib/apollo_perception_ros/perception_yx_node' failed
make[2]: *** [/home/aisimba/perception_ws/devel/lib/apollo_perception_ros/perception_yx_node] Error 1
CMakeFiles/Makefile2:5177: recipe for target 'perception/apollo_perception_ros/src/CMakeFiles/perception_yx_node.dir/all' failed
make[1]: *** [perception/apollo_perception_ros/src/CMakeFiles/perception_yx_node.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

seems like the libroi_filter_proto_lib.so have some linking problem, hope for any suggestions!
@cedricxie

nvml error: driver not loaded: unknown.

hared directory: /home/xx/shared_dir
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: nvml error: driver not loaded: unknown.

Caffe::LayerParameter, cannot find reorg and roi_pooling.

I found roi_pooling related content in Baidu's Apollo and this project's docker, but I couldn't find reorg and permute. Where can the hpp, cpp and cu files of these two contents be obtained?

Your answer is of great significance to me.
Thank you!

Process died when processing the function "CameraProcess::ImgCallback"

Hello, When i try to playbakc the demo.2.0.bag, I met the below problem. I t seems like that when the process needed to go into the function "CameraProcess::ImgCallback", the process will die. I do not know how to solve this problem. Has anyone meet the same problem? Thank you!

[perception_yx_node-2] process has died [pid 22989, exit code -11, cmd /home/yx/shared_dir/apollo_perception_ros-master/devel/lib/apollo_perception_ros/perception_yx_node __name:=perception_yx_node __log:=/home/yx/.ros/log/4ede7092-28d7-11ec-b0c4-000c29da5aba/perception_yx_node-2.log].
log file: /home/yx/.ros/log/4ede7092-28d7-11ec-b0c4-000c29da5aba/perception_yx_node-2
.log
*

Error occures when rosrun perception_yx_node

Hi,
First of all, thank you for this project, it really helps. And I have a problem running the node, please check:
I try to make it running on my laptop, I've installed all the dependencies and got apollo_perception_ros built successfully(instead of using catkin build, I use catkin_make). Then I try to run the node: rosrun apollo_perception_ros perception_yx_node, it gave error like below:
image
You can see it finished all the initialization and started to run, but suddenly core dumped because of Eigen problem. According to the error message, I did some search and make the following change insrc/perception/apollo_perception_ros/include/common/object.h:
RadarFrameSupplementPtr radar_frame_supplement = nullptr;
CameraFrameSupplementPtr camera_frame_supplement = nullptr;
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
};

Then I compiled again and run it, the same error happened. I use gdb to debug and found this:
image

I don't know what's the next step, could anyone help here? Thank you.

A bug for coordinate transform

Hi, I think there is a bug for coordinate transform in lidar_process, check the code in lidar_process.cpp 255~260(bool LidarProcess::GetSensorTrans(const double query_time, Matrix4d* trans)):
try {
tf2_listener_.lookupTransform(FLAGS_lidar_tf2_frame_id,
FLAGS_lidar_tf2_child_frame_id, query_stamp, stamped_transform);
} catch (tf2::TransformException& ex) {
AERROR << "Exception: " << ex.what();
return false;
}
This function trys to get the sensor's pose and location to transform all the objects into a global coordinate like /world for latter tracking. So "FLAGS_lidar_tf2_child_frame_id" should be like "velodyne"(or something like that), and "FLAGS_lidar_tf2_frame_id" should be a global frame like "/world". But by checking gflags file perception_gflags.cc in src/perception/apollo_perception_ros/src/common/, I found this:
DEFINE_string(lidar_tf2_frame_id, "base_link", "the tf2 transform frame id");
DEFINE_string(lidar_tf2_child_frame_id, "velodyne64",
"the tf2 transform child frame id");
So FLAGS_lidar_tf2_frame_id is "base_link". First of all, there is no such frame in Apollo. Apollo's frame is like:velodyne64->novatel->world. Second, by reading other code, the base_link is more like vehicle body frame.
So This transform won't transform objects in velodyne frame into world frame but the base_link(vehicle frame). This is not correct for tracking, because tracking should happen in a fix(not moving) frame.
Please check and tell me if I'm right or not.

Running with ROS Kinetic

Is there a way to get this running under ROS Kinetic? I modified the docker scripts to use Ubuntu 16.04 and install ROS Kinetic, but I'm having build issues, seemingly around PCL. It looks like Kinetic or its dependencies is using vtk6 but this build is reliant upon vtk5. Does anyone know what modifications I could make to get this to work with ROS Kinetic?

Thank you!

Regarding the issue of GPU model when running the project

May I ask what method is available to run on RTX3050,

ROS_MASTER_URI=http://localhost:11311
setting /run_id to b137428c-793e-11ee-988e-e00af67fe37b
process[rosout-1]: started with pid [7815]
started core service [/rosout]
process[perception_yx_node-2]: started with pid [7832]
process[robot_state_publisher-3]: started with pid [7841]
WARNING: Logging before InitGoogleLogging() is written to STDERR
W1102 05:14:27.095293 7832 perception_yx.cpp:51] Sensor Lidar: Enabled, Logging: False
W1102 05:14:27.095335 7832 perception_yx.cpp:55] Sensor Radar: Disabled, Logging: False
W1102 05:14:27.095338 7832 perception_yx.cpp:59] Sensor Camera Long: Enabled, Logging: True
W1102 05:14:27.095340 7832 perception_yx.cpp:63] Sensor Camera Short: Enabled, Logging: True
W1102 05:14:27.095342 7832 perception_yx.cpp:67] Fusion, Logging: True
W1102 05:14:27.095346 7832 perception_yx.cpp:69] Image Resize Factor: 1
process[joint_state_publisher-4]: started with pid [7857]
W1102 05:15:32.066159 7832 yolo_camera_detector.cc:154] YoloCameraDetector options.intrinsic is nullptr. Use default image size 1080P
F1102 05:15:32.180480 7832 permute_layer.cu:47] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
*** Check failure stack trace: ***
[perception_yx_node-2] process has died [pid 7832, exit code -6, cmd /home/yx/shared_dir/apollo_perception_ros/devel/lib/apollo_perception_ros/perception_yx_node __name:=perception_yx_node __log:=/home/yx/.ros/log/b137428c-793e-11ee-988e-e00af67fe37b/perception_yx_node-2.log].
log file: /home/yx/.ros/log/b137428c-793e-11ee-988e-e00af67fe37b/perception_yx_node-2*.log

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.