Comments (8)
Ah, that's also possible, as just an extra check. What about:
- save_every_minutes
- log_every_minutes
- eval_every_minutes
as additional arguments in TrainingArguments? Yeah for the delta we can just do (datetime-datetime).total_seconds()/60
from transformers.
Yep! :D
And now it's a very simple API
from transformers.
FYI @muellerzr
from transformers.
Seems like a good idea to me! Re; _TRAIN_START_TIME
, we can set that to trainer.train()
being called I think, the callbacks have a workflow that's called on training begin. (called literally on_train_begin
) which only gets called once in the _inner_training_loop
before the epoch iterations start.
from transformers.
@muellerzr Just an idea, maybe the start time can be added as a property to TrainerState? It can then be read in the on step end
and on epoch end
of the callbacks since the state is passed to it. That would mean that the train start time is set to the initialization of the trainer, though, so perhaps the training time in the state should be set/updated on_train_begin
.
So concretely:
- add "train_start_time" to TrainerState
- add
on_train_begin
toDefaultFlowCallback
which will set train_start_time to the current time in the state - add logic that if save/log/evaluate is set in the args, the on_step_end and on_epoch_end will set
should_X
to true and reset the timer
If that sounds good I can give it a go.
from transformers.
Yes I'm open to that!
On init we can set it to -99
or something equivalent to know that it's been instantiated but not started
from transformers.
@muellerzr I started working on this. I am not entirely sure how to specify the interval, though. So in case IntervalStrategy==TIME, do we assume that logging_steps
(and save, eval) are given in minutes? I considered allowing datetime strings, but that would a typing nightmare on the CLI, I fear, so keeping it as an int seems best. WDYT?
from transformers.
Just an aside, to me this would be both, better to oversave than under. The time
is more of a "backup" and we keep as epoch
and step
based.
For interval time, use timedelta
, similar to what torch.distributed
uses for timeout: https://docs.python.org/3/library/datetime.html#datetime.timedelta
from transformers.
Related Issues (20)
- Cache in different devices when use split model with dispatch_model() function and model.generate()
- ChatGLM3-6b测试模型时报错AttributeError: can't set attribute HOT 1
- i cannot find the code that transformers trainer model_wrapped by deepspeed , i can find the theory about model_wrapped was wraped by DDP(Deepspeed(transformer model )) ,but i only find the code transformers model wrapped by ddp, where is the deepspeed wrapped ? thanks ^-^ HOT 1
- AutoModal how to enable TP for extremly large models? HOT 2
- `model.safetensors` missing in model file not found error in default case
- Cannot convert llama 3 model to hf HOT 2
- error when using PPO in Gemma HOT 9
- Llama3 models causing `TypeError: not a string` error in LlamaTokenizer HOT 4
- Some functional problems in the implementation of Speculative Decoding HOT 3
- Error During Training with PatchTSMixerForTimeSeriesClassification for Time Series Classification HOT 1
- Whisper assistant decoding not working with pipeline
- Error During Training with PatchTSMixerForTimeSeriesClassification for Time Series Classification HOT 1
- TypeError: WhisperForConditionalGeneration.forward() got an unexpected keyword argument 'model' HOT 5
- FutureWarning about resume_download is raised after huggingface-hub 0.23.0 release
- Remove pipelines, chatformatters, templates etc --> Replace with simple generator function / manual string interpolation ---> Just have one standardized way for building datasets and running inference HOT 2
- HTML Files Keep on Loading HOT 1
- Wav2Vec2ForCTC weight mismatch HOT 1
- More memory consumption than litgpt
- Setting compute_metrics in Trainer with Idefics2ForConditionalGeneration leads to AttributeError: 'DynamicCache' object has no attribute 'detach' HOT 5
- DPT implementation contains unused parameters HOT 4
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 transformers.