Giter Club home page Giter Club logo

Comments (14)

ravijo avatar ravijo commented on August 20, 2024

@osumilab

It seems that the problem is with OpenPose installation. Please see the error message below:

/home/osumi/catkin_ws/devel/lib/ros_openpose/rosOpenposeAsync: error while loading shared libraries: libcaffe.so.1.0.0: cannot open shared object file: No such file or directory

Can you please run openpose.bin file with sample video as suggested in the documentation of OpenPose

from ros_openpose.

osumilab avatar osumilab commented on August 20, 2024

I ran ~/openpose$ ./build/examples/openpose/openpose.bin, image was displayed.
And, I ran ~/catkin_ws$ roslaunch ros_openpose run.launch in the state, but it gives me error like this and image changed [Camera disconnected, reconnecting...]

process[rosOpenpose-1]: started with pid [2180435]
/home/osumi/catkin_ws/devel/lib/ros_openpose/rosOpenposeAsync: error while loading shared libraries: libcaffe.so.1.0.0: cannot open shared object file: No such file or directory
process[visualizer-2]: started with pid [2180436]
process[echo-3]: started with pid [2180438]
process[camera/realsense2_camera_manager-4]: started with pid [2180439]
process[camera/realsense2_camera-5]: started with pid [2180440]
process[rviz-6]: started with pid [2180441]
================================================================================REQUIRED process [rosOpenpose-1] has died!
process has died [pid 2180435, exit code 127, cmd /home/osumi/catkin_ws/devel/lib/ros_openpose/rosOpenposeAsync --model_folder home/osumi/openpose/models/ __name:=rosOpenpose __log:=/home/osumi/.ros/log/bc743e38-7477-11ed-8877-813910df0dba/rosOpenpose-1.log].
log file: /home/osumi/.ros/log/bc743e38-7477-11ed-8877-813910df0dba/rosOpenpose-1*.log
Initiating shutdown!
================================================================================
[ INFO] [1670472897.351375390]: Initializing nodelet with 16 worker threads.
[ INFO] [1670472897.428212157]: RealSense ROS v2.3.2
[ INFO] [1670472897.428240739]: Built with LibRealSense v2.50.0
[ INFO] [1670472897.428253098]: Running with LibRealSense v2.50.0
[rviz-6] killing on exit
[camera/realsense2_camera-5] killing on exit
[camera/realsense2_camera_manager-4] killing on exit
[echo-3] killing on exit
[visualizer-2] killing on exit
[rosOpenpose-1] killing on exit
Traceback (most recent call last):
  File "/home/osumi/catkin_ws/src/ros_openpose-master/scripts/echo.py", line 9, in <module>
    import rospy
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/client.py", line 52, in <module>
Traceback (most recent call last):
  File "/home/osumi/catkin_ws/src/ros_openpose-master/scripts/visualizer.py", line 10, in <module>
    import roslib
  File "/opt/ros/noetic/lib/python3/dist-packages/roslib/__init__.py", line 50, in <module>
    import rospy
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/__init__.py", line 49, in <module>
    from roslib.launcher import load_manifest  # noqa: F401
  File "/opt/ros/noetic/lib/python3/dist-packages/roslib/launcher.py", line 42, in <module>
    from .client import spin, myargv, init_node, \
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/client.py", line 52, in <module>
    import rospkg
  File "/usr/lib/python3/dist-packages/rospkg/__init__.py", line 41, in <module>
    import roslib
  File "/opt/ros/noetic/lib/python3/dist-packages/roslib/__init__.py", line 50, in <module>
    from roslib.launcher import load_manifest  # noqa: F401
  File "/opt/ros/noetic/lib/python3/dist-packages/roslib/launcher.py", line 42, in <module>
    from .manifest import InvalidManifest, Manifest, parse_manifest_file
  File "/usr/lib/python3/dist-packages/rospkg/manifest.py", line 40, in <module>
    import rospkg
  File "/usr/lib/python3/dist-packages/rospkg/__init__.py", line 42, in <module>
    import xml.dom.minidom as dom
  File "/usr/lib/python3.8/xml/dom/minidom.py", line 23, in <module>
    from .rospack import expand_to_packages, get_package_name, \
  File "/usr/lib/python3/dist-packages/rospkg/rospack.py", line 37, in <module>
    from xml.dom.xmlbuilder import DOMImplementationLS, DocumentLS
  File "/usr/lib/python3.8/xml/dom/xmlbuilder.py", line 3, in <module>
    from xml.etree.cElementTree import ElementTree
  File "/usr/lib/python3.8/xml/etree/cElementTree.py", line 3, in <module>
    import copy
    from xml.etree.ElementTree import *
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 844, in exec_module
  File "<frozen importlib._bootstrap>", line 914, in _find_spec
  File "<frozen importlib._bootstrap_external>", line 976, in get_code
  File "<frozen importlib._bootstrap_external>", line 1407, in find_spec
  File "<frozen importlib._bootstrap_external>", line 640, in _compile_bytecode
KeyboardInterrupt
  File "<frozen importlib._bootstrap_external>", line 1379, in _get_spec
  File "<frozen importlib._bootstrap_external>", line 1534, in find_spec
  File "<frozen importlib._bootstrap_external>", line 121, in _path_join
KeyboardInterrupt
[ INFO] [1670472897.447193915]:  
 08/12 13:15:00,713 WARNING [139787495274240] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
shutting down processing monitor...
... shutting down processing monitor complete
done

opempose_エラー

Also, I ran ~/openpose$ ./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand --write_json output_json_folder/, it gives me error like this

Starting OpenPose demo...
Configuring OpenPose...
Starting thread(s)...
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
F1208 13:25:41.268456 2188158 cudnn_conv_layer.cpp:53] Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0)  CUDNN_STATUS_INTERNAL_ERROR
*** Check failure stack trace: ***
    @     0x7f8f6b0581c3  google::LogMessage::Fail()
    @     0x7f8f6b05d25b  google::LogMessage::SendToLog()
    @     0x7f8f6b057ebf  google::LogMessage::Flush()
    @     0x7f8f6b0586ef  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f8f6ac7f0f5  caffe::CuDNNConvolutionLayer<>::LayerSetUp()
    @     0x7f8f6ad63e4d  caffe::Net<>::Init()
    @     0x7f8f6ad66365  caffe::Net<>::Net()
    @     0x7f8f6b73559c  op::NetCaffe::initializationOnThread()
    @     0x7f8f6b6e0ce3  op::FaceExtractorCaffe::netInitializationOnThread()
    @     0x7f8f6b6e2625  op::FaceExtractorNet::initializationOnThread()
    @     0x7f8f6b77b297  op::Worker<>::initializationOnThreadNoException()
    @     0x7f8f6b77b3e8  op::SubThread<>::initializationOnThread()
    @     0x7f8f6b77cc00  op::Thread<>::initializationOnThread()
    @     0x7f8f6b7801bc  op::Thread<>::threadFunction()
    @     0x7f8f6b396de4  (unknown)
    @     0x7f8f6b096609  start_thread
    @     0x7f8f6b1d2133  clone
中止 (コアダンプ)

from ros_openpose.

ravijo avatar ravijo commented on August 20, 2024

@osumilab

Thank you for reporting in detail. It helped me to find the issue.

F1208 13:25:41.268456 2188158 cudnn_conv_layer.cpp:53] Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0)  CUDNN_STATUS_INTERNAL_ERROR

This error is coming from Caffe library. It generally comes when OpenPose is not installed correctly. Kindly follow the documentation of OpenPose or Caffe for proper installation.

Cheers

from ros_openpose.

osumilab avatar osumilab commented on August 20, 2024

I completely uninstalled Openpose and caffe , and re-installed its based on documentation of Openpose,but I still get the error F1208 14:10:00.528839 2225162 cudnn_conv_layer.cpp:53] Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERROR
I run ./build/examples/openpose/openpose.bin was success, I run ./build/examples/openpose/openpose.bin --video examples/media/video.avi was success too ,but I run ./build/examples/openpose/openpose.bin --face --hand was failed
How did people who have been in the same situation overcome...

from ros_openpose.

ravijo avatar ravijo commented on August 20, 2024

I understand.

The CUDNN_STATUS_INTERNAL_ERROR error is a bit tricky to solve. There are many potential causes for it, such as low GPU RAM, incorrect cuDNN version, and so on.

I think, you should spend some time going through OpenPose documentation. or ask at their GitHub page.

from ros_openpose.

xiang2020git avatar xiang2020git commented on August 20, 2024

I also had the problem with [libcaffe.so.1.0.0](libcaffe.so.1.0.0: cannot open shared object file: No such file or directory) when running the launch file run.launch.

A quick fix is to load the path to your compiled libcaffe.so.1.0.0 before running the launch file:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xc/openpose/build/caffe/lib
export LD_LIBRARY_PATH

Replace the path above to where the libcaffe.so.1.0.0 is created. If you follow the official installation guide of openpose, it is located in openpose/build/caffe/lib.

For a long-time fix: maybe we need to modify the CMakeLists.txt or make a symbolic link of the libcaffe.so.1.0.0 into some system path.

from ros_openpose.

osumilab avatar osumilab commented on August 20, 2024

I load the path to libcaffe.so.q.0.0
I run ~/openpose$ ./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand --write_json output_json_folder/, it gives me error like this.
F1209 15:41:14.624164 14581 cudnn_conv_layer.cpp:53] Check failed: status == CUDNN_STATUS_SUCCESS (1 vs. 0) CUDNN_STATUS_NOT_INITIALIZED *** Check failure stack trace: ***
But, I run roslaunch ros_openpose run.launch, It gives me message and image was displayed.
What does it mean?

... logging to /home/osumi/.ros/log/66d2fe66-778c-11ed-9bc9-b118c59ab965/roslaunch-osumi-System-Product-Name-13921.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://133.91.72.99:34217/

SUMMARY
========

PARAMETERS
 * /camera/realsense2_camera/accel_fps: -1
 * /camera/realsense2_camera/accel_frame_id: camera_accel_frame
 * /camera/realsense2_camera/accel_optical_frame_id: camera_accel_opti...
 * /camera/realsense2_camera/align_depth: True
 * /camera/realsense2_camera/aligned_depth_to_color_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye1_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye2_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_infra1_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_infra2_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/allow_no_texture_points: False
 * /camera/realsense2_camera/base_frame_id: camera_link
 * /camera/realsense2_camera/calib_odom_file: 
 * /camera/realsense2_camera/clip_distance: -2.0
 * /camera/realsense2_camera/color_fps: -1
 * /camera/realsense2_camera/color_frame_id: camera_color_frame
 * /camera/realsense2_camera/color_height: -1
 * /camera/realsense2_camera/color_optical_frame_id: camera_color_opti...
 * /camera/realsense2_camera/color_width: -1
 * /camera/realsense2_camera/confidence_fps: -1
 * /camera/realsense2_camera/confidence_height: -1
 * /camera/realsense2_camera/confidence_width: -1
 * /camera/realsense2_camera/depth_fps: -1
 * /camera/realsense2_camera/depth_frame_id: camera_depth_frame
 * /camera/realsense2_camera/depth_height: -1
 * /camera/realsense2_camera/depth_optical_frame_id: camera_depth_opti...
 * /camera/realsense2_camera/depth_width: -1
 * /camera/realsense2_camera/device_type: 
 * /camera/realsense2_camera/enable_accel: False
 * /camera/realsense2_camera/enable_color: True
 * /camera/realsense2_camera/enable_confidence: True
 * /camera/realsense2_camera/enable_depth: True
 * /camera/realsense2_camera/enable_fisheye1: False
 * /camera/realsense2_camera/enable_fisheye2: False
 * /camera/realsense2_camera/enable_fisheye: False
 * /camera/realsense2_camera/enable_gyro: False
 * /camera/realsense2_camera/enable_infra1: False
 * /camera/realsense2_camera/enable_infra2: False
 * /camera/realsense2_camera/enable_infra: False
 * /camera/realsense2_camera/enable_pointcloud: False
 * /camera/realsense2_camera/enable_pose: False
 * /camera/realsense2_camera/enable_sync: False
 * /camera/realsense2_camera/filters: pointcloud
 * /camera/realsense2_camera/fisheye1_frame_id: camera_fisheye1_f...
 * /camera/realsense2_camera/fisheye1_optical_frame_id: camera_fisheye1_o...
 * /camera/realsense2_camera/fisheye2_frame_id: camera_fisheye2_f...
 * /camera/realsense2_camera/fisheye2_optical_frame_id: camera_fisheye2_o...
 * /camera/realsense2_camera/fisheye_fps: -1
 * /camera/realsense2_camera/fisheye_frame_id: camera_fisheye_frame
 * /camera/realsense2_camera/fisheye_height: -1
 * /camera/realsense2_camera/fisheye_optical_frame_id: camera_fisheye_op...
 * /camera/realsense2_camera/fisheye_width: -1
 * /camera/realsense2_camera/gyro_fps: -1
 * /camera/realsense2_camera/gyro_frame_id: camera_gyro_frame
 * /camera/realsense2_camera/gyro_optical_frame_id: camera_gyro_optic...
 * /camera/realsense2_camera/imu_optical_frame_id: camera_imu_optica...
 * /camera/realsense2_camera/infra1_frame_id: camera_infra1_frame
 * /camera/realsense2_camera/infra1_optical_frame_id: camera_infra1_opt...
 * /camera/realsense2_camera/infra2_frame_id: camera_infra2_frame
 * /camera/realsense2_camera/infra2_optical_frame_id: camera_infra2_opt...
 * /camera/realsense2_camera/infra_fps: 30
 * /camera/realsense2_camera/infra_height: 480
 * /camera/realsense2_camera/infra_rgb: False
 * /camera/realsense2_camera/infra_width: 848
 * /camera/realsense2_camera/initial_reset: False
 * /camera/realsense2_camera/json_file_path: 
 * /camera/realsense2_camera/linear_accel_cov: 0.01
 * /camera/realsense2_camera/odom_frame_id: camera_odom_frame
 * /camera/realsense2_camera/ordered_pc: False
 * /camera/realsense2_camera/pointcloud_texture_index: 0
 * /camera/realsense2_camera/pointcloud_texture_stream: RS2_STREAM_COLOR
 * /camera/realsense2_camera/pose_frame_id: camera_pose_frame
 * /camera/realsense2_camera/pose_optical_frame_id: camera_pose_optic...
 * /camera/realsense2_camera/publish_odom_tf: True
 * /camera/realsense2_camera/publish_tf: True
 * /camera/realsense2_camera/reconnect_timeout: 6.0
 * /camera/realsense2_camera/rosbag_filename: 
 * /camera/realsense2_camera/serial_no: 
 * /camera/realsense2_camera/stereo_module/exposure/1: 7500
 * /camera/realsense2_camera/stereo_module/exposure/2: 1
 * /camera/realsense2_camera/stereo_module/gain/1: 16
 * /camera/realsense2_camera/stereo_module/gain/2: 16
 * /camera/realsense2_camera/tf_publish_rate: 0.0
 * /camera/realsense2_camera/topic_odom_in: odom_in
 * /camera/realsense2_camera/unite_imu_method: 
 * /camera/realsense2_camera/usb_port_id: 
 * /camera/realsense2_camera/wait_for_device_timeout: -1.0
 * /echo/pub_topic: /frame
 * /rosOpenpose/cam_info_topic: /camera/color/cam...
 * /rosOpenpose/color_topic: /camera/color/ima...
 * /rosOpenpose/depth_topic: /camera/aligned_d...
 * /rosOpenpose/frame_id: camera_color_opti...
 * /rosOpenpose/no_depth: False
 * /rosOpenpose/pub_topic: /frame
 * /rosdistro: noetic
 * /rosversion: 1.15.13
 * /visualizer/frame_id: camera_color_opti...
 * /visualizer/id_text_offset: -0.05
 * /visualizer/id_text_size: 0.2
 * /visualizer/pub_topic: /frame
 * /visualizer/skeleton_hands: False
 * /visualizer/skeleton_line_width: 0.01

NODES
  /
    echo (ros_openpose/echo.py)
    rosOpenpose (ros_openpose/rosOpenposeAsync)
    rviz (rviz/rviz)
    visualizer (ros_openpose/visualizer.py)
  /camera/
    realsense2_camera (nodelet/nodelet)
    realsense2_camera_manager (nodelet/nodelet)

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

setting /run_id to 66d2fe66-778c-11ed-9bc9-b118c59ab965
process[rosout-1]: started with pid [13984]
started core service [/rosout]
process[rosOpenpose-2]: started with pid [13991]
process[visualizer-3]: started with pid [13992]
process[echo-4]: started with pid [13993]
process[camera/realsense2_camera_manager-5]: started with pid [13994]
process[camera/realsense2_camera-6]: started with pid [13995]
process[rviz-7]: started with pid [13996]
[ INFO] [1670568042.989372881]: Initializing nodelet with 16 worker threads.
[ INFO] [1670568043.054951008]: Starting ros_openpose...
[ INFO] [1670568043.071972053]: RealSense ROS v2.3.2
[ INFO] [1670568043.072000943]: Built with LibRealSense v2.50.0
[ INFO] [1670568043.072016380]: Running with LibRealSense v2.50.0
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
[ WARN] [1670568043.087985548]: Waiting for color image frame...

Error:
Prototxt file not found: home/osumi/openpose/models/pose/body_25/pose_deploy.prototxt.
Possible causes:
	1. Not downloading the OpenPose trained models.
	2. Not running OpenPose from the root directory (i.e., where the `model` folder is located, but do not move the `model` folder!). E.g.,
		Right example for the Windows portable binary: `cd {OpenPose_root_path}; bin/openpose.exe`
		Wrong example for the Windows portable binary: `cd {OpenPose_root_path}/bin; openpose.exe`
	3. Using paths with spaces.

Coming from:
- /home/osumi/openpose/src/openpose/net/netCaffe.cpp:ImplNetCaffe():61
- /home/osumi/openpose/src/openpose/net/netCaffe.cpp:ImplNetCaffe():97
- /home/osumi/openpose/src/openpose/pose/poseExtractorCaffe.cpp:addCaffeNetOnThread():106
- /home/osumi/openpose/src/openpose/pose/poseExtractorCaffe.cpp:netInitializationOnThread():196
- /home/osumi/openpose/src/openpose/pose/poseExtractorNet.cpp:initializationOnThread():102
[ WARN] [1670568043.088199970]: Waiting for datum...
- /home/osumi/openpose/src/openpose/pose/poseExtractor.cpp:initializationOnThread():34
- /home/osumi/openpose/include/openpose/pose/wPoseExtractor.hpp:initializationOnThread():57
- /home/osumi/openpose/include/openpose/thread/worker.hpp:initializationOnThreadNoException():77
[ INFO] [1670568043.092202947]:  
[ INFO] [1670568043.428924251]: Device with serial number 141722075922 was found.

[ INFO] [1670568043.428954996]: Device with physical ID 2-7.1-3 was found.
[ INFO] [1670568043.428965847]: Device with name Intel RealSense D435I was found.
[ INFO] [1670568043.429262872]: Device with port number 2-7.1 was found.
[ INFO] [1670568043.429286754]: Device USB type: 3.2
[ INFO] [1670568043.430853724]: getParameters...
[ INFO] [1670568043.453526339]: setupDevice...
[ INFO] [1670568043.453552472]: JSON file is not provided
[ INFO] [1670568043.453568257]: ROS Node Namespace: camera
[ INFO] [1670568043.453584767]: Device Name: Intel RealSense D435I
[ INFO] [1670568043.453599269]: Device Serial No: 141722075922
[ INFO] [1670568043.453613242]: Device physical port: 2-7.1-3
[ INFO] [1670568043.453626074]: Device FW version: 05.13.00.50
[ INFO] [1670568043.453639327]: Device Product ID: 0x0B3A
[ INFO] [1670568043.453653074]: Enable PointCloud: On
[ INFO] [1670568043.453666211]: Align Depth: On
[ INFO] [1670568043.453679242]: Sync Mode: On
[ INFO] [1670568043.453728494]: Device Sensors: 
[ INFO] [1670568043.524398872]: Stereo Module was found.
[ INFO] [1670568043.531234311]: RGB Camera was found.
[ INFO] [1670568043.531367706]: Motion Module was found.
[ INFO] [1670568043.531420901]: (Confidence, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1670568043.531623221]: Add Filter: pointcloud
[ INFO] [1670568043.531950937]: num_filters: 2
[ INFO] [1670568043.531966224]: Setting Dynamic reconfig parameters.
[ INFO] [1670568046.470178005]: Done Setting Dynamic reconfig parameters.
[ INFO] [1670568046.470502202]: depth stream is enabled - width: 848, height: 480, fps: 30, Format: Z16
[ INFO] [1670568046.471197360]: color stream is enabled - width: 1280, height: 720, fps: 30, Format: RGB8
[ INFO] [1670568046.471973349]: setupPublishers...
[ INFO] [1670568046.473949952]: Expected frequency for depth = 30.00000
[ INFO] [1670568046.494646996]: Expected frequency for color = 30.00000
[ INFO] [1670568046.506072003]: Expected frequency for aligned_depth_to_color = 30.00000
[ INFO] [1670568046.518897625]: setupStreams...
 09/12 15:40:46,719 WARNING [139697963656960] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Success, number: 0
[ INFO] [1670568046.770152328]: SELECTED BASE:Depth, 0
[ INFO] [1670568046.775493215]: RealSense Node Is Up!
[ WARN] [1670568046.838260599]: 
 09/12 15:40:46,838 WARNING [139697963656960] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Success, number: 0
[ INFO] [1670568046.843057164]: publishing unordered pointcloud.
 09/12 15:40:46,889 WARNING [139697963656960] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Success, number: 0
 09/12 15:40:46,940 WARNING [139697963656960] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Success, number: 0
 09/12 15:40:47,110 WARNING [139697963656960] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Success, number: 0
 09/12 15:40:47,160 WARNING [139697963656960] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Success, number: 0

Screenshot from 2022-12-09 15-46-46

from ros_openpose.

xiang2020git avatar xiang2020git commented on August 20, 2024

I haven't met the error regarding Cudnn yet therefore I can't give too much help regarding this issue.

For the error
Prototxt file not found: home/osumi/openpose/models/pose/body_25/pose_deploy.prototxt.
In run.launch, you need a slash at the beginning of the path:
<arg name="openpose_args" value="--model_folder /home/osumi/openpose/models/pose/body_25/pose_deploy.prototxt />

from ros_openpose.

osumilab avatar osumilab commented on August 20, 2024

I changed run.launch as follows, and I get error as well.
Is there a root cause somewhere?
ros.launch

<?xml version="1.0"?>
<!--
run.launch: this file does no more than calling other launch file
Author: Ravi Joshi
Date: 2019/11/23
-->
<launch>

  <!-- set this flag to switch ros_openpose to a synchronous setting -->
  <arg name="synchronous" default="false" />

  <!-- specify path to python openpose library (specifying this will switch synchronous setting from c++ to python) -->
  <arg name="py_openpose_path" default="none" />

  <!-- the value of this argument can only be one of the following: realsense, kinect, zed2, nodepth -->
  <arg name="camera" default="realsense" />

  <!-- set this flag to see invoke RViz -->
  <arg name="rviz" default="true" />

  <!-- set this flag to invoke the visualization of the skeleton -->
  <arg name="skeleton" default="true" />

  <!-- set this flag to see the pointcloud in the visualization inside RViz  -->
  <arg name="pointcloud" default="true" />

  <!-- set this flag to invoke the visualization of the hands of the skeleton -->
  <arg name="skeleton_hands" default="false" />

  <!--
   the standard openpose command-line arguments are also supported.
   to do so, please change the value, as shown in the example below.
  -->
  <?ignore
    <arg name="openpose_args" value="--hand --disable_multi_thread --model_folder /home/ravi/openpose/models/" />
  ?>
  <!-- full path to the model dir of openpose -->
  <arg name="openpose_args" value="--model_folder /home/osumi/openpose/models/pose/body_25/pose_deploy.prototxt" />

  <!-- rostopic to publish the 3D skeleton data -->
  <arg name="pub_topic" default="/frame" />

  <!-- thickness of the line used to draw skeleton for visualization inside RViz -->
  <arg name="skeleton_line_width" default="0.01" />

  <!-- size of the text used to indicate the id of a skeleton for visualization inside RViz -->
  <arg name="id_text_size" default="0.2" />

  <!-- offeset of the text used to indicate the id of a skeleton for visualization inside RViz -->
  <arg name="id_text_offset" default="-0.05" />

  <!-- flag to enable printing ros message to terminal -->
  <arg name="print" default="true" />

  <include file="$(find ros_openpose)/launch/config_$(arg camera).launch" >
    <arg name="rviz" value="$(arg rviz)" />
    <arg name="print" value="$(arg print)" />
    <arg name="skeleton" value="$(arg skeleton)" />
    <arg name="pub_topic" value="$(arg pub_topic)" />
    <arg name="pointcloud" value="$(arg pointcloud)" />
    <arg name="id_text_size" value="$(arg id_text_size)" />
    <arg name="openpose_args" value="$(arg openpose_args)" />
    <arg name="skeleton_hands" value="$(arg skeleton_hands)" />
    <arg name="id_text_offset" value="$(arg id_text_offset)" />
    <arg name="skeleton_line_width" value="$(arg skeleton_line_width)" />
    <arg name="synchronous" value="$(arg synchronous)" />
    <arg name="py_openpose_path" value="$(arg py_openpose_path)" />
  </include>
</launch>

error

... logging to /home/osumi/.ros/log/51dc49e2-7843-11ed-9bc9-b118c59ab965/roslaunch-osumi-System-Product-Name-27022.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://133.91.72.99:44097/

SUMMARY
========

PARAMETERS
 * /camera/realsense2_camera/accel_fps: -1
 * /camera/realsense2_camera/accel_frame_id: camera_accel_frame
 * /camera/realsense2_camera/accel_optical_frame_id: camera_accel_opti...
 * /camera/realsense2_camera/align_depth: True
 * /camera/realsense2_camera/aligned_depth_to_color_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye1_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye2_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_infra1_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_infra2_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/allow_no_texture_points: False
 * /camera/realsense2_camera/base_frame_id: camera_link
 * /camera/realsense2_camera/calib_odom_file: 
 * /camera/realsense2_camera/clip_distance: -2.0
 * /camera/realsense2_camera/color_fps: -1
 * /camera/realsense2_camera/color_frame_id: camera_color_frame
 * /camera/realsense2_camera/color_height: -1
 * /camera/realsense2_camera/color_optical_frame_id: camera_color_opti...
 * /camera/realsense2_camera/color_width: -1
 * /camera/realsense2_camera/confidence_fps: -1
 * /camera/realsense2_camera/confidence_height: -1
 * /camera/realsense2_camera/confidence_width: -1
 * /camera/realsense2_camera/depth_fps: -1
 * /camera/realsense2_camera/depth_frame_id: camera_depth_frame
 * /camera/realsense2_camera/depth_height: -1
 * /camera/realsense2_camera/depth_optical_frame_id: camera_depth_opti...
 * /camera/realsense2_camera/depth_width: -1
 * /camera/realsense2_camera/device_type: 
 * /camera/realsense2_camera/enable_accel: False
 * /camera/realsense2_camera/enable_color: True
 * /camera/realsense2_camera/enable_confidence: True
 * /camera/realsense2_camera/enable_depth: True
 * /camera/realsense2_camera/enable_fisheye1: False
 * /camera/realsense2_camera/enable_fisheye2: False
 * /camera/realsense2_camera/enable_fisheye: False
 * /camera/realsense2_camera/enable_gyro: False
 * /camera/realsense2_camera/enable_infra1: False
 * /camera/realsense2_camera/enable_infra2: False
 * /camera/realsense2_camera/enable_infra: False
 * /camera/realsense2_camera/enable_pointcloud: False
 * /camera/realsense2_camera/enable_pose: False
 * /camera/realsense2_camera/enable_sync: False
 * /camera/realsense2_camera/filters: pointcloud
 * /camera/realsense2_camera/fisheye1_frame_id: camera_fisheye1_f...
 * /camera/realsense2_camera/fisheye1_optical_frame_id: camera_fisheye1_o...
 * /camera/realsense2_camera/fisheye2_frame_id: camera_fisheye2_f...
 * /camera/realsense2_camera/fisheye2_optical_frame_id: camera_fisheye2_o...
 * /camera/realsense2_camera/fisheye_fps: -1
 * /camera/realsense2_camera/fisheye_frame_id: camera_fisheye_frame
 * /camera/realsense2_camera/fisheye_height: -1
 * /camera/realsense2_camera/fisheye_optical_frame_id: camera_fisheye_op...
 * /camera/realsense2_camera/fisheye_width: -1
 * /camera/realsense2_camera/gyro_fps: -1
 * /camera/realsense2_camera/gyro_frame_id: camera_gyro_frame
 * /camera/realsense2_camera/gyro_optical_frame_id: camera_gyro_optic...
 * /camera/realsense2_camera/imu_optical_frame_id: camera_imu_optica...
 * /camera/realsense2_camera/infra1_frame_id: camera_infra1_frame
 * /camera/realsense2_camera/infra1_optical_frame_id: camera_infra1_opt...
 * /camera/realsense2_camera/infra2_frame_id: camera_infra2_frame
 * /camera/realsense2_camera/infra2_optical_frame_id: camera_infra2_opt...
 * /camera/realsense2_camera/infra_fps: 30
 * /camera/realsense2_camera/infra_height: 480
 * /camera/realsense2_camera/infra_rgb: False
 * /camera/realsense2_camera/infra_width: 848
 * /camera/realsense2_camera/initial_reset: False
 * /camera/realsense2_camera/json_file_path: 
 * /camera/realsense2_camera/linear_accel_cov: 0.01
 * /camera/realsense2_camera/odom_frame_id: camera_odom_frame
 * /camera/realsense2_camera/ordered_pc: False
 * /camera/realsense2_camera/pointcloud_texture_index: 0
 * /camera/realsense2_camera/pointcloud_texture_stream: RS2_STREAM_COLOR
 * /camera/realsense2_camera/pose_frame_id: camera_pose_frame
 * /camera/realsense2_camera/pose_optical_frame_id: camera_pose_optic...
 * /camera/realsense2_camera/publish_odom_tf: True
 * /camera/realsense2_camera/publish_tf: True
 * /camera/realsense2_camera/reconnect_timeout: 6.0
 * /camera/realsense2_camera/rosbag_filename: 
 * /camera/realsense2_camera/serial_no: 
 * /camera/realsense2_camera/stereo_module/exposure/1: 7500
 * /camera/realsense2_camera/stereo_module/exposure/2: 1
 * /camera/realsense2_camera/stereo_module/gain/1: 16
 * /camera/realsense2_camera/stereo_module/gain/2: 16
 * /camera/realsense2_camera/tf_publish_rate: 0.0
 * /camera/realsense2_camera/topic_odom_in: odom_in
 * /camera/realsense2_camera/unite_imu_method: 
 * /camera/realsense2_camera/usb_port_id: 
 * /camera/realsense2_camera/wait_for_device_timeout: -1.0
 * /echo/pub_topic: /frame
 * /rosOpenpose/cam_info_topic: /camera/color/cam...
 * /rosOpenpose/color_topic: /camera/color/ima...
 * /rosOpenpose/depth_topic: /camera/aligned_d...
 * /rosOpenpose/frame_id: camera_color_opti...
 * /rosOpenpose/no_depth: False
 * /rosOpenpose/pub_topic: /frame
 * /rosdistro: noetic
 * /rosversion: 1.15.13
 * /visualizer/frame_id: camera_color_opti...
 * /visualizer/id_text_offset: -0.05
 * /visualizer/id_text_size: 0.2
 * /visualizer/pub_topic: /frame
 * /visualizer/skeleton_hands: False
 * /visualizer/skeleton_line_width: 0.01

NODES
  /
    echo (ros_openpose/echo.py)
    rosOpenpose (ros_openpose/rosOpenposeAsync)
    rviz (rviz/rviz)
    visualizer (ros_openpose/visualizer.py)
  /camera/
    realsense2_camera (nodelet/nodelet)
    realsense2_camera_manager (nodelet/nodelet)

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

setting /run_id to 51dc49e2-7843-11ed-9bc9-b118c59ab965
process[rosout-1]: started with pid [27070]
started core service [/rosout]
process[rosOpenpose-2]: started with pid [27077]
process[visualizer-3]: started with pid [27078]
process[echo-4]: started with pid [27079]
process[camera/realsense2_camera_manager-5]: started with pid [27080]
process[camera/realsense2_camera-6]: started with pid [27081]
process[rviz-7]: started with pid [27082]
[ INFO] [1670646605.694786057]: Initializing nodelet with 16 worker threads.
[ INFO] [1670646605.758502142]: RealSense ROS v2.3.2
[ INFO] [1670646605.758526107]: Built with LibRealSense v2.50.0
[ INFO] [1670646605.758535642]: Running with LibRealSense v2.50.0
[ INFO] [1670646605.778547093]:  
[ INFO] [1670646605.780200075]: Starting ros_openpose...
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
[ WARN] [1670646605.811123982]: Waiting for color image frame...

Error:
Prototxt file not found: /home/osumi/openpose/models/pose/body_25/pose_deploy.prototxt/pose/body_25/pose_deploy.prototxt.
Possible causes:
	1. Not downloading the OpenPose trained models.
	2. Not running OpenPose from the root directory (i.e., where the `model` folder is located, but do not move the `model` folder!). E.g.,
		Right example for the Windows portable binary: `cd {OpenPose_root_path}; bin/openpose.exe`
		Wrong example for the Windows portable binary: `cd {OpenPose_root_path}/bin; openpose.exe`
	3. Using paths with spaces.

Coming from:
- /home/osumi/openpose/src/openpose/net/netCaffe.cpp:ImplNetCaffe():61
- /home/osumi/openpose/src/openpose/net/netCaffe.cpp:ImplNetCaffe():97
- /home/osumi/openpose/src/openpose/pose/poseExtractorCaffe.cpp:addCaffeNetOnThread():106
- /home/osumi/openpose/src/openpose/pose/poseExtractorCaffe.cpp:netInitializationOnThread():196
- /home/osumi/openpose/src/openpose/pose/poseExtractorNet.cpp:initializationOnThread():102
- /home/osumi/openpose/src/openpose/pose/poseExtractor.cpp:initializationOnThread():34
[ WARN] [1670646605.811336730]: Waiting for datum...
- /home/osumi/openpose/include/openpose/pose/wPoseExtractor.hpp:initializationOnThread():57
- /home/osumi/openpose/include/openpose/thread/worker.hpp:initializationOnThreadNoException():77
[ INFO] [1670646606.125221906]: Device with serial number 141722075922 was found.

[ INFO] [1670646606.125253625]: Device with physical ID 2-7.1-3 was found.
[ INFO] [1670646606.125279902]: Device with name Intel RealSense D435I was found.
[ INFO] [1670646606.125649728]: Device with port number 2-7.1 was found.
[ INFO] [1670646606.125669698]: Device USB type: 3.2
[ INFO] [1670646606.127214731]: getParameters...
[ INFO] [1670646606.149550268]: setupDevice...
[ INFO] [1670646606.149569339]: JSON file is not provided
[ INFO] [1670646606.149576563]: ROS Node Namespace: camera
[ INFO] [1670646606.149584343]: Device Name: Intel RealSense D435I
[ INFO] [1670646606.149589935]: Device Serial No: 141722075922
[ INFO] [1670646606.149596454]: Device physical port: 2-7.1-3
[ INFO] [1670646606.149602806]: Device FW version: 05.13.00.50
[ INFO] [1670646606.149612042]: Device Product ID: 0x0B3A
[ INFO] [1670646606.149618417]: Enable PointCloud: On
[ INFO] [1670646606.149626654]: Align Depth: On
[ INFO] [1670646606.149633935]: Sync Mode: On
[ INFO] [1670646606.149661584]: Device Sensors: 
[ INFO] [1670646606.256067226]: Stereo Module was found.
[ INFO] [1670646606.262339596]: RGB Camera was found.
[ INFO] [1670646606.262445459]: Motion Module was found.
[ INFO] [1670646606.262473017]: (Confidence, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1670646606.262668268]: Add Filter: pointcloud
[ INFO] [1670646606.262978958]: num_filters: 2
[ INFO] [1670646606.262993572]: Setting Dynamic reconfig parameters.
[ INFO] [1670646609.210130982]: Done Setting Dynamic reconfig parameters.
[ INFO] [1670646609.210458482]: depth stream is enabled - width: 848, height: 480, fps: 30, Format: Z16
[ INFO] [1670646609.211123048]: color stream is enabled - width: 1280, height: 720, fps: 30, Format: RGB8
[ INFO] [1670646609.211841377]: setupPublishers...
[ INFO] [1670646609.213262003]: Expected frequency for depth = 30.00000
[ INFO] [1670646609.233838216]: Expected frequency for color = 30.00000
[ INFO] [1670646609.246158484]: Expected frequency for aligned_depth_to_color = 30.00000
[ INFO] [1670646609.258075756]: setupStreams...
 10/12 13:30:09,452 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[ INFO] [1670646609.503074700]: SELECTED BASE:Depth, 0
[ INFO] [1670646609.507984284]: RealSense Node Is Up!
[ WARN] [1670646609.570851588]: 
 10/12 13:30:09,571 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[ INFO] [1670646609.577309190]: publishing unordered pointcloud.
 10/12 13:30:09,621 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 10/12 13:30:09,672 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 10/12 13:30:09,829 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 10/12 13:30:09,880 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 300, error: Resource temporarily unavailable, number: b
 10/12 13:30:10,031 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 10/12 13:30:10,182 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 10/12 13:30:10,333 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 10/12 13:30:10,383 WARNING [140372281915136] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
^C[rviz-7] killing on exit
[camera/realsense2_camera-6] killing on exit
[echo-4] killing on exit
[camera/realsense2_camera_manager-5] killing on exit
[rosOpenpose-2] killing on exit
[visualizer-3] killing on exit

Error occurred on a thread. OpenPose closed all its threads and then propagated the error to the main thread. Error description:

Prototxt file not found: /home/osumi/openpose/models/pose/body_25/pose_deploy.prototxt/pose/body_25/pose_deploy.prototxt.
Possible causes:
	1. Not downloading the OpenPose trained models.
	2. Not running OpenPose from the root directory (i.e., where the `model` folder is located, but do not move the `model` folder!). E.g.,
		Right example for the Windows portable binary: `cd {OpenPose_root_path}; bin/openpose.exe`
		Wrong example for the Windows portable binary: `cd {OpenPose_root_path}/bin; openpose.exe`
	3. Using paths with spaces.

Coming from:
- /home/osumi/openpose/src/openpose/net/netCaffe.cpp:ImplNetCaffe():61
- /home/osumi/openpose/src/openpose/net/netCaffe.cpp:ImplNetCaffe():97
- /home/osumi/openpose/src/openpose/pose/poseExtractorCaffe.cpp:addCaffeNetOnThread():106
- /home/osumi/openpose/src/openpose/pose/poseExtractorCaffe.cpp:netInitializationOnThread():196
- /home/osumi/openpose/src/openpose/pose/poseExtractorNet.cpp:initializationOnThread():102
- /home/osumi/openpose/src/openpose/pose/poseExtractor.cpp:initializationOnThread():34
- /home/osumi/openpose/include/openpose/pose/wPoseExtractor.hpp:initializationOnThread():57
- /home/osumi/openpose/include/openpose/thread/worker.hpp:initializationOnThreadNoException():77
- [All threads closed and control returned to main thread]
- /home/osumi/openpose/src/openpose/utilities/errorAndLog.cpp:checkWorkerErrors():280
- /home/osumi/openpose/include/openpose/thread/threadManager.hpp:stop():243
- /home/osumi/openpose/include/openpose/wrapper/wrapper.hpp:stop():455

from ros_openpose.

osumilab avatar osumilab commented on August 20, 2024

Sorry, I described run.launch as<arg name="openpose_args" value="--model_folder /home/osumi/openpose/models/" /> , and rviz and openpose started up.

Also, I want to do hand tracking, regarding the configuration of launch file in README, should I describe <arg name="openpose_args" value="--model_folder /home/osumi/openpose/models/"/> or <arg name="openpose_args" value="--face --hand"/>?
I cannot describe both because they have the same arg name

from ros_openpose.

xiang2020git avatar xiang2020git commented on August 20, 2024

Sorry, I described run.launch as<arg name="openpose_args" value="--model_folder /home/osumi/openpose/models/" /> , and rviz and openpose started up.

Also, I want to do hand tracking, regarding the configuration of launch file in README, should I describe <arg name="openpose_args" value="--model_folder /home/osumi/openpose/models/"/> or <arg name="openpose_args" value="--face --hand"/>? I cannot describe both because they have the same arg name

I think you can put them together:

<arg name="openpose_args" value="--face --hand --model_folder /home/osumi/openpose/models/"/>?

from ros_openpose.

osumilab avatar osumilab commented on August 20, 2024

Sorry to keep pestering you.
Does this error mean that there is not enough memory?

[ WARN] [1671146881.665090298]: Waiting for datum...
point: ['0.291', '0.064', 0.9410000000000001]
F1216 08:28:01.971036 142037 syncedmem.cpp:78] Check failed: error == cudaSuccess (2 vs. 0)  out of memory
*** Check failure stack trace: ***
    @     0x7f5f3955c1c3  google::LogMessage::Fail()
    @     0x7f5f3956125b  google::LogMessage::SendToLog()
    @     0x7f5f3955bebf  google::LogMessage::Flush()
    @     0x7f5f3955c6ef  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f5f392af20a  caffe::SyncedMemory::gpu_data()
    @     0x7f5f391470f6  caffe::Blob<>::gpu_data()
    @     0x7f5f392e7a01  caffe::ConvolutionLayer<>::Forward_gpu()
    @     0x7f5f3926e292  caffe::Net<>::ForwardFromTo()
    @     0x7f5f3a2a2c19  op::NetCaffe::forwardPass()
    @     0x7f5f3a24dde7  op::FaceExtractorCaffe::forwardPass()
    @     0x7f5f3a248208  op::WFaceExtractorNet<>::work()
    @     0x7f5f3a2e952f  op::Worker<>::checkAndWork()
    @     0x7f5f3a2e96bb  op::SubThread<>::workTWorkers()
    @     0x7f5f3a2f723d  op::SubThreadQueueInOut<>::work()
    @     0x7f5f3a2ee271  op::Thread<>::threadFunction()
    @     0x7f5f398b9de4  (unknown)
    @     0x7f5f39a61609  start_thread
    @     0x7f5f396b1133  clone
================================================================================REQUIRED process [rosOpenpose-2] has died!
process has died [pid 141937, exit code -6, cmd /home/osumi/catkin_ws/devel/lib/ros_openpose/rosOpenposeAsync --face --hand --model_folder /home/osumi/openpose/models/ __name:=rosOpenpose __log:=/home/osumi/.ros/log/119671d2-7cd0-11ed-9bc9-b118c59ab965/rosOpenpose-2.log].
log file: /home/osumi/.ros/log/119671d2-7cd0-11ed-9bc9-b118c59ab965/rosOpenpose-2*.log
Initiating shutdown!
================================================================================
[rviz-7] killing on exit
[camera/realsense2_camera-6] killing on exit
[visualizer-3] killing on exit
[rosOpenpose-2] killing on exit
[echo-4] killing on exit
[camera/realsense2_camera_manager-5] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

from ros_openpose.

ravijo avatar ravijo commented on August 20, 2024

Yes! You need more memory in your graphic card. Or you can lower the net resolution parameter. Please check the documentation

from ros_openpose.

osumilab avatar osumilab commented on August 20, 2024

Thank you for answering my many question!
I am learning by trial and error!

from ros_openpose.

Related Issues (20)

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.