Comments (10)
I haven't found a cross-language logging framework for both C++ and python. Should I write one myself?
from taichi.
It seems that a basic logger in C++ with binding to python using pybind11 needs < 1000 LoC.
Compile time is an issue if we adopt something (heavy) header-only, as it will be included almost everywhere.
from taichi.
glog
, spdlog
, easyloggingpp
turns out to be possible options.
I need indentation, however, to make logs more structured.
from taichi.
Another option is to first use one of them and then hack it to suit Taichi, if license permits.
BTW, it's time to replace printf
s.
from taichi.
glog
seems to be too heavy. Let's pick one among 'easyloggingpp' and spdlog
.
from taichi.
from taichi.
from taichi.
Another feature we want is that the logger output should be easily parsable, using python
.
This would be helpful when we want to draw loss curves/convergence curves.
from taichi.
Let's use spdlog
.
from taichi.
BTW, g3log
is also awesome. I just like the bundled fmtlab
with spdlog
. Latency should not be an issue for taichi
.
from taichi.
Related Issues (20)
- Macosx High Power Occupancy HOT 1
- Assertion in C++ triggered by trying to use field of Shared mem vector HOT 4
- Wrong behaviors of `range-for` observed on `ti.cuda` with large range or after another `range-for` (but works fine with `ti.cpu`)
- Python exception caused when forgetting to specify dtype parameter on vector
- taichi incompatible with open3d on multiple gpus device HOT 2
- Structs and StructFields: passing them into and returning them from kernels HOT 7
- Segmentation fault on kernel.grad (passing in torch.Tensor on wrong device)
- Non contiguous gradient tensor not checked (causes segmentation fault)
- Autograd assertion: stmt->ret_type == stmt->v->ret_type HOT 1
- RHI Error: Failed to create swapchain HOT 4
- Type hint error when passing ti.template() var to ti.func as a list index HOT 3
- Support the warp-level primitive for ``f64` and `f16`
- Autograd warning spam [control_flow_graph.cpp:get_store_forwarding_data@341] stmt 130 loaded in stmt 131 before storing. HOT 1
- Error when convert a large taichi ndarray to numpy using to_numpy() method
- Atomic add on SharedArray vector causes LLVM assertion HOT 2
- Multiple return type hint with `@ti.func` not working on 1.7 HOT 3
- Add bfloat16 support
- ti.ad.no_grad decorator and needs_grad=False not prevent creating gradients tensors
- ti.ad.no_grad decorator not support return
- Is it correct to implement dataclass inheritance through this way?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from taichi.