Comments (11)
error.h
contains only one function CheckCudaError
, I created it when @songmeixu did't committ PR about debug.h
, now the whole file can be deleted (I'll do this now).
RE glog, I'm OK with removing glog, but for now, we have no CHECK
marocs with printing out messages, e.g. k2_CHECK_EQ() << "message"
, and Log level mechanism, such as LOG(FATAL)<<
, maybe @songmeixu would like to add those code?
from k2.
IE, the debug.h is expected to be used for cuda codes. Where the print msg would be silenced finally for release. Thus it's not for logging, but for debugging (in both DEBUG/NDEBUG mode, as K2_PARANOID_ASSERT
takes effect in both).
As to non-cuda codes, I think msg is needed for logging and debugging/error-handling, thus glog/loguru is sth that valued. Consider the pytorch/tf is the first target for K2 to work with. They both utilized glog, I would vote glog +1. The problem to dev with glog in a library (K2 would be at 1st stage?) is, without a config which must be the final main()
job, there should be a local one with the same macro-name. This is a convention to use with glog at least for a library. During called through main()
, the preset define-check macro(#ifndef glog..
) is used to choose from the real glog or the mimic one. In this way, the glog can be able to different mother-ships.
from k2.
A library should not expect a macro "the-predefined-glog-indicator-in-glog-header". If glog is not presented, the loguru should be ready, that means be inited in a default way in its part of the glog-or-loguru header. I made it init as so. Would check it to make sure it works (write tests).
from k2.
Another way is forget glog, define our one. But the default msg distributions (stdout/stderr) may make the upper-framework unhappy. That's a reason why glog is used widely.
from k2.
Meixu, I found your comment ". The problem to dev with glog in a library (K2 would be at 1st stage?) is, without a config which must be the final main() job, there should be a local one with the same macro-name. This is a convention to use with glog at least for a library." confusing. Can you please clarify with example code?
from k2.
Sorry about it and sure. I think the right way is to introduce loguru. And would write tests to show.
from k2.
If we have to use third-party log libraries, I would like to use glog instead of loguru. As you said before, a lot of projects use glog (e.g. PyTorch, TensorFlow). Or we write our own log system as we only need a few features (e.g. CHECK
with printing error message, LOG(FATAL
))
Sorry about it and sure. I think the right way is to introduce loguru. And would write tests to show.
from k2.
How do I feel like no one knows what I'm saying 🐶🐶🐶 I can't express myself well in Eng. If there is glog, there must be another logger that mimics it.
from k2.
OK, sorry, you mean there must be some init function to call InitGoogleGlog? or can you explain the requirements/limitation you declared with some sample code?
from k2.
sure, as dan has asked about.
from k2.
from k2.
Related Issues (20)
- Question about k2.union() function. HOT 4
- Installation on Windows with GPU HOT 2
- FST is going down abruptly. HOT 7
- Can not copy k2.RaggedTensor from CPU to GPU by RaggedTensor.to(device_id) HOT 1
- K2 installation is not working (not up to date for the new cuda and pytorch versions) HOT 4
- A warning is always printed when there is an extreme reduction in the encoder output frame rate. HOT 2
- ModuleNotFoundError: No module named '_k2' HOT 2
- Nbest online decoding bug HOT 15
- argmax_internal::PairInputIterator and argmax_internal::PairOutputIterator don't implement the random access iterator concept HOT 6
- ModuleNotFoundError: No module named '_k2' HOT 5
- error: conflicting declaration ‘typedef struct CUevent_st* HOT 7
- nbest C++ api use too much vram HOT 5
- Torchscript export error for torch.finfo function HOT 2
- fail k2.compose(H, LG, inner_labels="tokens") HOT 13
- aux labels id range limit?
- Error during run time in 1st epoch using conformer_ctc2 OTC HOT 1
- I want to install k2 offline , but the log shows that "network is unreachable" HOT 1
- Have problem when installing from source HOT 1
- No module named 'k2.torch_version' HOT 6
- Use k2 to represent regex in decoding
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 k2.