Not able to resume training after loading model + weights

I work at an institute where it is not allowed to run a workstation overnight, hence I had to split the training process into multiple days. I trained a model for 10 epochs which took approximately 1 day, and saved the model + weights using the methods described in keras documentation like this:
 modelPath = './SegmentationModels/
 modelName = 'Arch_1_10'
 sys.setrecursionlimit(10000)
 json_string = model.to_json()
 open(str(modelPath + modelName + '.json'), 'w').write(json_string)
 model.save_weights(str(modelPath + modelName + '.h5'))
 import cPickle as pickle
 with open(str(modelPath + modelName + '_hist.pckl'), 'wb') as f:
     pickle.dump(history.history, f, -1)

and load the model the next day like this:
 modelPath = './SegmentationModels/'
 modelName = 'Arch_1_10'
 model = model_from_json(open(str(modelPath + modelName + '.json')).read())
 model.compile(loss='categorical_crossentropy', optimizer=optim_sgd)
 model.load_weights(str(modelPath + modelName + '.h5'))
 #     import cPickle as pickle
 #     with open(str(modelPath + modelName + '_hist.pckl'), 'r') as f:
 #         history = pickle.load(f)
 model.summary()

but when I restarted the training process it initialized to the same training and validation loss that I had got the earlier day at the 1st epoch! It should have started with an accuracy of 60% which was the last best accuracy I got the earlier day, but it doesn't.
I have also tried to call model.compile() before and after load_weights, as well as leaving it out altogether, but that doesn't work either.
Please help me in this regard. Thanks in advance.

Does it work when you construct the model with the original code instead of loading it from json?

Nope. It doesn't. Still starts with 20% accuracy as it did on the 1st epoch.

Did the weights file already exist before you tried to save it?

It did, but now I tried using the ModelCheckpoint callback which saves weight files for each epoch. In my a weights file for epoch 70 was created (it was not present), I tried loading that into the model loaded using i) JSON ii) using original code, but still no luck.

It did

That's it, save_weights() doesn't overwrite existing files unless you also pass overwrite=True. It should have asked for user input, though.

Actually sorry for my last comment, all the architectures I save and all weights I save have unique names, and yes I know save_weights() asks for user input when overwriting the file, but in my case it doesn't since the files do not exist. Se we can safely rule out the possibility that the file was not overwritten.

You can see the weights saved after every epoch. When I try to load these weights the training still restarts from where it started initially.

That's strange...
replace this line with if 1: and try to load the weights again.

I found out that I was using an older version of Keras. I upgraded the version and found model_summary() is no longer there. Delved deeper and found that it has now been changed to print_summary().
Anyways, I tried changing the line of code you asked, but that didn't work as well.

UPDATE: Came to the institute this morning built the model using original code and loaded the model weights saved using ModelCheckpoint callback. Started training and it still restarts from the beginning; no memory of past metrics.
Please help! @NasenSpray

So what model do you have precisely? Perhaps some weights aren't actually saved or loaded at all (like the states in a LSTM or something)? Or perhaps they are accidentally shuffled (flipped dimensions or whatever) somehow.

Also, some optimizers are stateful right? Are you just using SGD? I'm not familiar with this part of Keras but perhaps the optimizers should be saved as well because otherwise when you reinitiate learning it could diverge, explaining your low accuracy after a few additional epochs.

Try this
model  = make_model()
w1 = model.get_weights()
model.load_weights('your_saved_weights.h5')
w2 = model.get_weights()

for a,b in zip(w1, w2):
  if np.all(a == b):
    print "wtf is happening"

Does it print?

Doesn't print. The weights are loaded successfully I suppose. Its the training procedure that's problematic. After running this script (it didn't print anything), I ran model.fit() and it started with a loss 10x higher than originally it was at epoch 1, and with accuracy 20% again sigh

Obviously something must be different as you're seeing different results. Perhaps get_weights() doesn't actually return everything it could.
I'm curious if you have the same problem just by restarting training in the same session, nevermind loading a model and its weights with Keras' builtins. If not, consider saving states with something like this instead?

Thanks. When I restart an interrupted training process, the training continues from where it left of successfully. The problem is when I load the model and weights.
My main aim to save "snapshots" or "states" of the model that can be loaded back and used as a starting point when training on the other day. I'll have a look at the shelf module too, thanks!. But I think the problem with Keras must be debugged as well.
Please guide me on how can I help you reproduce this issue for you guys to fix it sometime in the future. I would love to help.

In your loadModel(), hardcode the learning rate to 0. Does it make the loaded model better?

I'll try your suggestion as soon as I get to the institute tomorrow.

I could not try validating on the training set for some reason, but I solved my problem by pickling the model after training it for the day. I restarted my iPython Notebook kernel, loaded the pickled model, and restarted the training process. Fortunately it started from where it left of.

Dang! That clearly means some states are not saved properly, whether they are weights or something else.
I assume the intended use case for having load and save functions in Keras has more to do with being able to share pretrained models like people do with Caffe, rather than it being for pausing your own training, in which pickling is probably safer.
I do wonder though if it wouldn't be easier to just scratch the manual parsing of states which is bug-prone and simply have everything rely on Python's builtin object serialization with pickle, shelve or similar. Keras' builtins are pretty meaty though so I'm probably missing something important in why they're needed.
I could do a pr with shelve for save_model(...), load_model(...), save_weights(...), load_weights(...) if it is of interest @fchollet.

From what @carlthome said here, you could try to take a snapshot of the optimizer too.
I have 2 functions working to be able to serialize the model and the optimizer as in the pre 1.0 release. Note that I return a dictionnary instead of a json dump.
You could try them and let me know if it's working (I didn't have the time to really test them extensively):

def get_function_name(o):
    """Utility function to return the model's name
    """
    if isinstance(o, six.string_types):
        return o
    else:
        return o.__name__

def to_dict_w_opt(model):
    """Serialize a model and add the config of the optimizer and the loss.
    """
    config = dict()
    config_m = model.get_config()
    config['config'] = {
        'class_name': model.__class__.__name__,
        'config': config_m,
    }
    if hasattr(model, 'optimizer'):
        config['optimizer'] = model.optimizer.get_config()
    if hasattr(model, 'loss'):
        if isinstance(model.loss, dict):
            config['loss'] = dict([(k, get_function_name(v))
                                   for k, v in model.loss.items()])
        else:
            config['loss'] = get_function_name(model.loss)

    return config

def model_from_dict_w_opt(model_dict, custom_objects=None):
    """Builds a model from a serialized model using `to_dict_w_opt`
    """
    if custom_objects is None:
        custom_objects = {}

    model = layer_from_config(model_dict['config'],
                              custom_objects=custom_objects)

    if 'optimizer' in model_dict:
        model_name = model_dict['config'].get('class_name')
        # if it has an optimizer, the model is assumed to be compiled
        loss = model_dict.get('loss')

        # if a custom loss function is passed replace it in loss
        if model_name == "Graph":
            for l in loss:
                for c in custom_objects:
                    if loss[l] == c:
                        loss[l] = custom_objects[c]
        elif model_name == "Sequential" and loss in custom_objects:
            loss = custom_objects[loss]

        optimizer_params = dict([(
            k, v) for k, v in model_dict.get('optimizer').items()])
        optimizer_name = optimizer_params.pop('name')
        optimizer = optimizers.get(optimizer_name, optimizer_params)

        if model_name == "Sequential":
            sample_weight_mode = model_dict.get('sample_weight_mode')
            model.compile(loss=loss,
                          optimizer=optimizer,
                          sample_weight_mode=sample_weight_mode)
        elif model_name == "Graph":
            sample_weight_modes = model_dict.get('sample_weight_modes', None)
            loss_weights = model_dict.get('loss_weights', None)
            model.compile(loss=loss,
                          optimizer=optimizer,
                          sample_weight_modes=sample_weight_modes,
                          loss_weights=loss_weights)
    return model

@carlthome, if this solution is ok, we could work on a PR that includes these functionnalities and the other relevant elements (weights, states, ...)?
It should be possible to include all of this in a HDF5 file.

@tboquet, cool! Sounds good to me! I'm no authority on Keras but I would probably have based loading/saving around object serialization of Model() and Sequential() just to be safe. In the future, new things will probably be stateful which will screw up things again. The slight additional overhead of saving too much is worth the extra stability and reduced code complexity, in my mind.

This is what I am using (took from keras docs) and it works without a problem on Keras 1.0:
def load_model():
    model = model_from_json(open('model.json').read())
    model.load_weights('weights.h5')
    model.compile(optimizer=rmsprop, loss='mse')
    return model

def save_model(model):
    json_string = model.to_json()
    open('model.json', 'w').write(json_string)
    model.save_weights('weights.h5', overwrite=True)

I had one example with say 10 epochs and another example with save and load in a loop of 10 iterations each with 1 epoch, and the loss for both were similarly decreasing. Additionally both resulting models were predicting fine.
Have you tried to call model.load_weights before model.compile?

Thank you for your suggestions everyone. I will try your suggestions again and revert back what I got. If the method described on official Keras documentation works for everyone, it should for me too. I will dig a little deeper and find out if its something I am doing wrong.

I ran into a similar problem today. It really seems like it could be the optimizer that needs to be saved/loaded too, aside from the weights.
Basically anything like this seems to go bonkers (in my case loss='mse' and optimizer='rmsprop'):
# Starting fresh, training for a while and saving the weights to file.
model = create_model()
model.compile(...)
model.fit(...)
model.save_weights(...)

# Creating the model again, but loading the previous weights and resuming training.
model = create_model()
model.compile(...)
model.load_weights(...)
model.fit(...) # Diverges!

@carlthome Had the same problem. Didn't check recently for the current status but now I use vanilla cPickle to pickle my trained model. Loading the pickled model and resuming training seems to be working just as expected. However I'm not sure about the JSON + h5 weight saving/loading functionality. If you are having the same problem then there must be something wrong.

@carlthome: RMSprop makes really shitty updates during the first couple of steps which easily wreck pre-trained models. Could you retry with plain SGD?

I also encountered this problem training a 2-layer LSTM with one dense layer at the end. Testing showed the following:
-Compiling two identical models in the same script, training the first model and then loading the weights in the second model via save_weights and load_weights worked as it should even if the two models had separate optimizer instances. If I did this and then started training with the second model its training loss was the same as the training loss of the first model when the weights were saved, as expected.
-However, once Python was closed and reopened loading weights saved in the previous instance resulted in, if anything, a -worse- loss at the start of training than the untrained model, though it quickly learned again.
-I'm not sure if the optimizer is at fault, because I've tried saving the weights from a model, reloading them and then testing predictions without any further training. If the two models were compiled in the same session it works fine, but if I close the session, start a new session, compile a new model and load the previous session's weights then its predictions are garbage.

Also, I'm using the Theano backend and training on Windows, which is probably a weird use-case and might explain why other people aren't seeing this.

Wait, I've been -extremely- stupid, please ignore.
For the interested, I was making a character-prediction RNN with a one-hot character encoding, but instead of pickling the map of characters to one-hot indices I was generating it in the code each time from a set of allowed characters using enumerate(). This of course meant that the mapping generated by enumerate() was different every time, because sets have no guaranteed order, which explains why everything worked fine until I restarted the script (and so regenerated the mapping).
This is embarrassingly obvious in retrospect.

I'm having this same issue using adagrad. After hours of training, when I load weights and resume, my MSE goes back up to where it started on the first epoch (the first epoch ever, where it was using the initial random weights).
What's the disadvantage of using vanilla cPickle instead of the save_weights and to_json (which don't seem to work unless you're using SGD)?

Heyho. I'm new to Deep Learning and Keras and ran into the same / a similar issue. I trained my model with SGD for some time and saved the weights after each epoch using the save_weights() function. When I load weights from a particular epoch and I use SGD again, everything is fine (evaluation metrics are still good).
Additionally, I tried to use my already learned weights but use a different optimizer for further training. When choosing Adam, Adagrad or RMSprop the evaluation metrics dropped and it looked like as if the learning started from scratch.
How can this happen? Why is everything fine, when I use SGD again - even with changed learning rate - but not when using a different Optimizer?
Thanks for your help!

It generally not advisable to retrain a pretrained model on an altogether
different optimizer compared to what it was trained on. This just doesn't
make any sense. My question is - do you have a valid reason behind this
setting, where you want to train a pre-trained network using a different
optimizer like RMSProp or Adam?
On Tue, Aug 9, 2016 at 6:17 PM, Thomas<EMAIL_ADDRESS>wrote:

Heyho. I'm new to Deep Learning and Keras and ran into the same / a
similar issue. I trained my model with SGD for some time and saved the
weights after each epoch using the save_weights() function. When I load
weights from a particular epoch and I use SGD again, everything is fine
(evaluation metrics are still good).
Additionally, I tried to use my already learned weights but use a
different optimizer for further training. When choosing Adam, Adagrad or
RMSprop the evaluation metrics dropped and it looked like as if the
learning started from scratch.
How can this happen? Why is everything fine, when I use SGD again - even
with changed learning rate - but not when using a different Optimizer?
Thanks for your help!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fchollet/keras/issues/2378#issuecomment-238541753,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJzCfX6axe8wAHs_UFXuAcreh9gLx69eks5qeHbcgaJpZM4IJZgO
.

Does this also apply to a partially pretrained model. For example if you have a network with 5 convolutional layers and you take the weights for the first 3 layers from a pretrained network and set trainable=False for those layers?
Concerning your question: As I wrote, I'm new to Keras and Deep Learning. I'm trying to get a feel for different techniques, so I'm playing around a bit and observing the resulting effects.

Sorry if I'm bumping an old thread - is this resolved for you folk?

Just hit this myself. I think the confusion is model.load_weights() only loads the model weights, it does not load any of the intermediate state of the optimizer. If you want to completely reload a model the only option appears to be load_model().
I would propose closing this issue as works-as-designed and updating the FAQ to make this a little bit more clear: if you want to resume training, your best option is load_model().

load_model isn't documented: https://keras.io/models/about-keras-models/

But it is documented here: https://keras.io/getting-started/faq/

I have the same problem on keras 1.2.0.
It was fixed on 1.2.1.

Hi all, I’m new with neural network. I’m using the keras library to perform some experiment and become familiar with this world. My question is:
Is the problem above resolved?
I’m working with the version 2.0.1 of keras and I can’t train a network previously trained (by me).
I have 2 training set and I want train the model in 2 different periods of time.
The first training set contain 5 different classes of object, the second contain data of only one class (I'm assuming that the first training set does not contain enough data for a class and I want integrate it with the second training set. I hope to be clear).
I have created the model in the standard way and trained with the first training set:
model = create_model()
model.compile(...)
model.fit(X_1, Y_1, …)
model.save('my_model.h5')

At this point my model performs correct predictions.
Then I want to use the second training set to perform an ulterior training of my model so:
model = load_model('my_model.h5')
model.fit(X_2, Y_2, …)

The problem is, when I evaluate the model before the second “fit” it’s all ok (so, the model is well loaded), but after the second training I lose every previous knowledge.
Can anyone explain me if there is something wrong?

is this fixed?

I've been using the latest version of keras. I can confirm this problem is not fixed even with model.save.

Any update?

model.save_weights() saves only the weights of the model. Instead try using model. save() and load_model() to save and reload the model respectively which saves the entire model state.
model.save("model.h5", overwrite=True)
.
.
model = load_model("model.h5")          """when reloading the model"""

@shalabhsingh  does not help

Can someone with this issue please provide a complete and minimal example that reproduces the issue? There are tests in place to check that this does not happen, so we need to understand what is different from those tests to nail it down. Try to use a dataset from Keras, so we can all easily reproduce it.
Thanks!

Ran into the same issue. Is it sorted folks?

I saved a model with model.save(mdl), and load it with the following codes which works great.
	if mdl == None:
		model = Sequential()
		model.add(Dense(256, input_dim=n_input, activation='relu'))
		model.add(Dropout(0.5))
		model.add(Dense(256, activation='relu'))
		model.add(Dropout(0.3))
		model.add(Dense(128, activation='relu'))
		model.add(Dropout(0.1))
		model.add(Dense(n_classes, activation='softmax'))

		model.compile(loss='categorical_crossentropy',
	              optimizer='adam',
	              metrics=['accuracy'])
	else:
		model = load_model(mdl)
       # Then train it with a usual way
        model.fit_generator(...)

@lionlai1989 Can you verify saving it from one session, and load it into different session? Or even load it and make predictions in different machine entirely? model.save and load_model does not work for me.

Got the same issue.  Spent 18 hours training a DenseNet on AWS to get to 89% accuracy on Cifar10, the connection interrupted but I thought I was safe because I had my model saved every 30 epochs. The truth is that it works for model.test(), but when I try model.fit(), it breaks and reverts to 10% accuracy when it was 89%. I've lost 1 day of work due to this shitty issue.

@EricAlcaide Would you mind providing your code? Because at least you can use it to test while my model can't do anything at all. Did you try using it to make predictions?

So as far as I got it, it's still not possible to load the state of the optimizer other than using load_model()?
Instead of using 'load_model', it would sometimes be nicer to define the nn-architecture, load the associated weights, load the saved optimizer and then compile again.
This would make it a lot easier to change nn-architectures in between epochs (e.g. add new layer, change dropout rate, etc.).

hi,
I think I found an answer in a different post. It's about the implementation of Adam and RMSProp etc in Tensorflow. When the model finds good weights on the first day it creates small losses, and Adam and other optimizers with a given learning rate ignores the previously adapted (and probably smaller) learning rate, and restarts the learning with the issue described below (basically: low errors are handled with a small epsilon). So saving the adapted learning rate could help too.
https://github.com/ibab/tensorflow-wavenet/issues/143
let me quote here:
Explanation
I've seen the behavior Zeta36 is describing in our test/test_model.py. When that test uses adam or rmsprop, I would see the loss drop and drop till a small number, then jump up to a large loss at some random time.
You can reproduce that problematic behavior if you change (what at the time of this writing in master) MomentumOptimizer to AdamOptimizer, make the learning rate 0.002 and delete the momentum parameter. Uncomment the statements that print loss.
If you run the test with
python test/test_model.py
every second or third time or so that you run the test you will see the loss will drop and then at some point jump up to a larger value, and sometimes cause the test to fail. I "worked around" that problem by futzing with the learn rate and number of training iterations we run in the test until it would reliably pass.
Anyway, I think I've found the cause. If you look at the tensorflow implementations of rmsprop and adam you will see they compute the change to a weight by dividing by a sinister lag-filtered rate-of-change or error magnitude. When the error or rate of change of error gets small, or even zero, near the bottom of the error basin, then the denominator gets close to zero. The only thing saving us from a NaN or Inf is they add an epsilon in the denominator. That epsilon defaults to 1e-10 for rmsprop and 1e-8 for adam. That's enough to make the change to our parameter a big number, presumably big enough give us a large loss.
So in PR 128 I specified a larger epsilon for rmsprop, and in PR 147 for adam. I found that these changes fix the problem of randomly increasing loss during the tests in test_model.py.

I just read through this and I have the same issue (Adam optimizer).  If you are having troubles reproducing it, you can pull this down: https://github.com/brainstain/CapsNet
Just change the epochs to 2 and run it twice.  I'll try @guyko81 's advice and save off the learning rate in a bit.  I'll post an update on whether the symptoms are improved.

I encountered the same problem using load_weights.
But my situation is a little bit complex, I have 2 models sharing some layers.
So I can't use 'load_model' here, what can I do to resume training?

indeed not solved, same issue for me
tried 2 things, both did not work
1)
from keras.models import load_model
model = load_model('my_model.h5')
2)
def load_model():
model = model_from_json(open('trainingmodel.json').read())
model.load_weights('weights.h5')
model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
return model
def save_model(model):
json_string = model.to_json()
open('trainingmodel.json', 'w').write(json_string)
model.save_weights('weights.h5', overwrite=True)

Same issue here, and also with LSTM. When I am loading using load_model(), training continues well. But, when I am loading only weights, all the following iterations never improves loss/val_loss.
model.fit(...)
model.save("lstm_model.h5")

if os.path.isfile("lstm_model.h5"):
   #1: model = load_model("lstm_model.h5")    # training continues well
   #2: model.load_weights("lstm_model.h5")     # loss never falls anymore

model.fit(...)

I'm having the same issue. Whenever I run the "fit" function of a saved model, all weights go bad and my predictions are wrong.
`#This predicts correctly
model = load_model('my_model.h5')
model.predict(x)
#This does not predict correctly
model=load_model('my_model.h5')
model.fit(X, Y, batch_size = 5, epochs=1)
model.predict(x)`
It looks like it's not able to resume training. Anyone have any suggestions, please?

I got the same problem. Anyone has an idea?

I got the same problem!

I got the same problem too, any ideas?
My architecture is:

When I tried to save model, I got warning as follows:

When I load saved model, the accuracy is close to 0!!!

Hello everyone, I faced the same problem. But I think it's solved in my case.
First save the model and weights as in the code below....
#Save the final model
model_json = model.to_json()
mdl_save_path = 'model.json'
with open(mdl_save_path, "w") as json_file:
json_file.write(model_json)
serialize weights to HDF5
mdl_wght_save_path = 'model.h5'
model.save_weights(mdl_wght_save_path)

Then I started another session completely closing all python opened files for retraining.I also tried this by checkpointing the model while training. At the time of resuming training, I first loaded the model architecture from .json file and then loaded the weights using load_weights() from .h5 file. Then compiled the model using model.compile() and fit it with model.fit().
N.B: I used SGD at both times while training and resuming training.....It worked.........
Though I did not check this with other optimizers. I saw that at the time of retraining if I use other optimizers other than SGD(I used SGD in normal training), the issue persists. So, I am pretty confident using different optimizers during normal training and resumed training will cause you a problem.
Thank you.

Hello everyone, I faced the same problem. But I think it's solved in my case.
First save the model and weights as in the code below....
#Save the final model
model_json = model.to_json()
mdl_save_path = 'model.json'
with open(mdl_save_path, "w") as json_file:
json_file.write(model_json)
serialize weights to HDF5
mdl_wght_save_path = 'model.h5'
model.save_weights(mdl_wght_save_path)
Then I started another session completely closing all python opened files for retraining.I also tried this by checkpointing the model while training. At the time of resuming training, I first loaded the model architecture from .json file and then loaded the weights using load_weights() from .h5 file. Then compiled the model using model.compile() and fit it with model.fit().
N.B: I used SGD at both times while training and resuming training.....It worked.........
Though I did not check this with other optimizers. I saw that at the time of retraining if I use other optimizers other than SGD(I used SGD in normal training), the issue persists. So, I am pretty confident using different optimizers during normal training and resumed training will cause you a problem.

Guys,
I fixed the problem by reducing the learning rate to 1e-5 (small lr for Adam) when I fine tune my pretrained model, which has been trained using Adadelta with a much higher starting lr. I think, the issue is the starting lr for Adam that mess things up. For fine tuing, just use a small lr for a new optimiser of your choice.. Hope this helps.

Thanks @peymanrah this is exaclty the solution I needed!

@peymanrah when you first trained the model with Adam, what learning rate did your training stop at. Trying to see by what factor I should decrease the lr for fine_tuning

Similar problem and potential fix
I also experienced this problem when using keras 2.2.0 (with mxnet backend). I was using a ModelCheckpoint to save training results as shown below
weight_saver = ModelCheckpoint('weights.{epoch:02d}-{val_loss:.2f}.h5',save_best_only=True, save_weights_only=True)
hist=model.fit_generator(train_generator, validation_data=valid_generator, validation_steps=80, steps_per_epoch=400, epochs=200, callbacks=[weight_saver])

I tried changing save_weights_only to False and then loading with keras.models.load_model but I still experienced the same error. I think the problem is with the ModelCheckpoint not appropriately saving the model. I am able to resume training when I save the progress with a custom callback:
class MyCheckPoint(keras.callbacks.Callback):
    def on_epoch_end(self, epoch, logs=None):
        loss = logs["loss"]
        val_loss = logs["val_loss"]
        fileName = "model.%02d_%0.5f_%0.5f.h5" % (epoch, loss, val_loss)
        self.model.save(fileName)

weight_saver = MyCheckPoint()
hist=model.fit_generator(train_generator, validation_data=valid_generator, validation_steps=80, steps_per_epoch=400, epochs=200, callbacks=[weight_saver])

Currently this setup above saves the whole model (not just weights) with self.model.save(fileName). I have not investigated if this is necessary versus just saving the weights. However, using the custom checkpoint seems to solve the problem. The saved model can then be loaded with keras.models.load_model(h5FileName)

@guyko81 @peymanrah I agree with you! The main reason is that when we save the model after several epochs, its learning rate is pretty smaller. Therefore, once we load the same model and continue training it, we have to set the learning rate to its last value instead of the default value( default value is for the first epoch, it is very large).

It is sad that such a basic issue has still not been solved.
It is happening because model.save(filename.h5) does not save the state of the optimizer. So the optimizers like Adam, RMSProp does not work but SGD works as mentioned in one of the previous comments (I verified this) since it is stateless optimizer (learning rate is fixed).
This is just sad that such a popular library has such basic/glaring/trivial bugs/problems :(

Guys,
I fixed the problem by reducing the learning rate to 1e-5 (small lr for Adam) when I fine tune my pretrained model, which has been trained using Adadelta with a much higher starting lr. I think, the issue is the starting lr for Adam that mess things up. For fine tuing, just use a small lr for a new optimiser of your choice.. Hope this helps.

Reducing learning rate solved my problem, too. At first lr was 0.01 and then I reduced it to 0.001 at second try. After one epoch it returned to last state (in terms of acc and loss).
Note than I just saved and loaded the weights.

@trane293 You mentioned that you used pickle to save and load the model which worked very well here. Saving the model implies saving weights of model, states of optimizers, custom objects like layers, custom loss function, custom accuracy metrics and more..
Can you please share your code to save and load model. I too am facing this issue and in an urgent need to finding an alternative for now. My models takes approx 10 days to get trained perfectly but because of electricity cutoff, it's training got interrupted. Please help..
Also, I have opened a new issue in keras. Can you help be debug the problem in s step-by-step manner? It would be a great help to a newbie like me. Thank you..
Issue link - https://github.com/keras-team/keras/issues/12263

@trane293 You mentioned that the issue is fixed here. But I am still facing the issue. I am saving my model using ModelCheckpoint callback in keras. Is it like the issue is fixed in model.save() but not in ModelCheckpoint?
I am also using the function multi_gpu_model() for training. Is it interfering? Can you please help with my issue mentioned in above comment?

I experienced this issue with Keras both with Mxnet and Tensorflow backends. My solution was to switch from using keras to tensorflow.keras. This obviously only works with tensorflow backend. However, if you are already using tensorflow backend, it is just a matter of changing your import statements as the functionality of tensorflow.keras is almost identical to keras
Since switching I have not experienced this annoying bug

Thanks, I'll try the solution this week.

This issue is not yet fixed. I’m experiencing this issue with Tensorflow as backend.any idea?

I have the same issue.Though I can't resume training after load_weight and loss value is just like the epoch1, I can load the weight and predict well.
And i found that the loss will down quickly after load_weight.
In the normal case, loss from 3 down to 1.5 maybe 10 epochs.
But when I call function load_weight, loss from 3 down to 1.5 maybe 3 or 4 epochs.
I have search a solution for a long time and not fix it yet.
Fortunately, It predicts well.

After loading your weights, when you train your model set parameter initial_epoch to the last epoch you trained your model before. E.g. you trained your model 100 epochs and saved via ModelCheckpoint weights after each epoch and want to resume training from 101st epoch you should do it in the next way
model.load_weights('path_to_the_last_weights_file')
model.fit(initial_epoch=100)
Other parameters keep the same.

Also experiencing this, especially with multi_gpu_model of a multi-model (model of models), saving the original multi-model. When I load weights it's as if they've never been saved (although load isn't erroring).
I'm using an "altmodelcheckpoint" to save the weights of the original model. Not sure if it is working.
When checking val loss I get the exact same patterns, as if the weights have been reinitialized...
I think there might actually be a bug in here somewhere.

There is no more an issue of saving/loading model weights in Keras. I know as I am a Keras user. It some error in your program which leads to such issues.

I'll try to find reproduction steps.... But if this bug shows up only in rater circumstances then it's still a bug. But, with 1.14 we'll no longer use multi_gpu_model so it doesn't really matter

@veqtor You can check my mini project. I faced same issues when built it but now everything works fine. I added support for multi gpu and that too is working. Check scripts here - https://github.com/ParikhKadam/bidaf-keras

model.fit(x_train, y_train,batch_size=batch_size,initial_epoch=30,
epochs=epochs,validation_data=(x_test, y_test),
callbacks=[modelcheckpoint, earlystopping])
model.fit(x_train, y_train,batch_size=batch_size,
epochs=epochs,
validation_data=(x_test, y_test),
callbacks=[modelcheckpoint, earlystopping])
添加一个initial_epoach,表示之前训练的次数，我之前只写了一次fit，然后程序只是输出，没有继续训练，后面又添加了一个fit，才开始继续训练的。

My solution was to switch from using keras to tensorflow.keras. This obviously only works with tensorflow backend.
Since switching I have not experienced this annoying bug

Here's my scripts
 from tensorflow.keras.callbacks import ModelCheckpoint, TensorBoard, ReduceLROnPlateau, EarlyStopping

saver = ModelCheckpoint(os.path.join(save_path, model_name + '-{epoch:02d}-{val_loss:.2f}.hdf5'),
                                                monitor='val_loss',
                                                verbose=0,
                                                save_best_only=False,
                                                save_weights_only=False,
                                                mode='auto',
                                                save_freq=save_interval)

still not working... And I have trained one epoch but it seems not speed up the speed of convergence

My solution was to switch from using keras to tensorflow.keras. This obviously only works with tensorflow backend.
Since switching I have not experienced this annoying bug

Here's my scripts
 from tensorflow.keras.callbacks import ModelCheckpoint, TensorBoard, ReduceLROnPlateau, EarlyStopping

saver = ModelCheckpoint(os.path.join(save_path, model_name + '-{epoch:02d}-{val_loss:.2f}.hdf5'),
                                                monitor='val_loss',
                                                verbose=0,
                                                save_best_only=False,
                                                save_weights_only=False,
                                                mode='auto',
                                                save_freq=save_interval)

still not working... And I have trained one epoch but it seems not speed up the speed of convergence

my sulotion seems working well.Here's my repository. you can try to save weights only then rebuild the network and load the weights .

As @peymanrah and @turb0bur said, I setting the initial_epoch=39 where my train_eopch paused in tensorboard. And lr=0.008 which didn't change, I tried reducing lr,  but I don't give it enough time to train a few epochs. here's my tensorboard visualization, We can see after one epoch, the network seems  back on track.
But unfortunately, after load_weights the model still cannot predict.

epoch_loss:blue line is validation trend, orange line is training trend

great！


Feature: take a screenshot of a page element(by selector)

Now users can add selectorCrop=true option to take image of htmlelement selected by selector option.
selectorCropPadding option can be negative.
Tested on slimerjs and phantomjs, works fine.
Capture google logo:
/?url=google.com&width=1300&zoom=2&selector=%23hplogo&selectorCrop=true&selectorCropPadding=20&engine=phantomjs

Sorry for the late response, I was really busy.. Thank you very much for PR!


Remove or replace Gentona font - requirement from EF IP review

It seems EF IP review team takes issue with the Gentona font we use. Please run a few options for dealing with this by the team, then implement necessary changes.

We have completed a preliminary review of the code package and have identified
two files related to the Gentona font that are licensed under the MyFonts EULA.
These font files are not open source and may not be redistributed by Eclipse.
Please review and advise if these files can be removed/replaced with an open
source alternative. If changes are required, please attach a revised code
package.
PASS_Archive/pass-offline-docker/files/fonts/gentona.css
PASS_Archive/pass-ui-static/fonts/gentona.css

I have a PR to be reviewed in each of the two repos called out in this ticket. I've removed the fonts in question and went with standard web safe fonts. The look and feel of the application is impacted somewhat, but we can make tweaks down the road.
I don't see any mention of it in this ticket, but if we need to be concerned with the non-open source fonts being present in our Docker images, then I'll have to modify the pass-docker repo and create a new image that doesn't include the fonts.

@jabrah if there is an update in the pass-docker repo that is necessary to make it consistent with these changes, please create a PR there as well. I'm not sure that a new docker image would be needed immediately though. This ticket is primarily about cleaning up the codebase prior to the move to EF-PASS. We don't need to get these changes into the deployed system just yet.

The PRs are now merged - so the fonts are no longer present on the tip of the respective repos' master branches. What are the next steps to re-submit for IP review, to move this ticket forward?

I've made a note on the IP review ticket that this work is done. There is no need to resubmit. Once the PR for pass-docker is merged, this issue can be closed.

The PR to pass-docker is now merged. The Docker images referenced in that repo should no longer include the flagged font files


Move Events from GS to AIRtable

Expected Behavior
We get events from airtable
Current Behavior
they exist in GSheets

fields we currently use
  name: string
  location: string
  startDate: string
  link: string
  celoHosted: boolean
  celoSpeaking: boolean
  celoAttending: boolean
  endDate?: string
  recap?: string
  description?: string
``

mappings
name: (new Field)
location: (Use Name and Location Field but remove Name)
startDate: (date)
link: (Event Link)
celoHosted: (new Field?)
celoSpeaking: (use Speaking field and see if empty )
endDate: (new Field)
recap: (barely used , remove?)
description: (new field)


Potential energy function to be used!

Is this the the potential energy function for the Na4Cl4 cluster that we are going to use for it optimization?

This is equation 4 on the paper right?
I believe this is the one.


Exclude external links from triggering progress bar

This PR:
-> Modifies the nprogress bar so that it only forks for non external links.
Here is the change

Here is a test of the changes
https://github.com/user-attachments/assets/e4110fb8-e79c-470e-aeaf-a6a49a59c16f

Good stuff @portdeveloper !!
I think this is SE-2 issue. Maybe we can create a PR there too.
Thanks lamb master


tiramisu: init at 1.0

Motivation for this change
This package is a notification daemon that prints notifications to stdout - allowing the user process notifications as they wish, for example by integrating it in their existing statusbar.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions (Arch)

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Note: I've added this:
postPatch = ''
  sed -i 's/printf(element_delimiter)/printf("%s", element_delimiter)/' src/output.c
'';

because gcc refuses to compile, erroring at line no. 88 in src/output.c:
              printf(element_delimiter);

(Furthermore, this happens on gcc 9.3.0 (NixOS), but not on gcc 10.2.0 (Arch), when compiling the normal way.). I'm not sure if this strategy is the best way to make it compile, so if anyone knows a better or more idiomatic way, then please tell!

Result of nixpkgs-review pr 107917 run on x86_64-linux 1

1 package marked as broken and skipped:

tiramisu

I've committed and squashed your suggestions, @prusnak.

I'm not sure exactly why nixpkgs-review would fail, particularly because I can't figure out how to make it tell me. I saw that ofborg failed a test because i misspelled longDescription, so I've fixed that now. Let's hope it doesn't fail now.


chore : added eslint prettier with webpack-defaults standard

This PR contains

eslint config
prettier config
linting and pretesting scripts
lockfiles update (opt-in-out)
formatting and linting fixes to the src and test folder

Cc @evilebottnawi .

cc @evilebottnawi

Can we fix CI problems?

the CI issue is being handled in https://github.com/webpack-contrib/npm-install-webpack-plugin/pull/130
Actually the changes need to be done here https://github.com/webpack-contrib/npm-install-webpack-plugin/blob/master/test/plugin.test.js#L15-L45
the mock compiler is of v3, I need to change it to v4. Which I am doing in https://github.com/webpack-contrib/npm-install-webpack-plugin/pull/130

Else, the linting+prettier tests are all fine, just few linting warnings.


Segmentation fault (core dumped)

Description
Segmentation fault (core dumped) during rebuilding a neural network model.
This is sample code:
def create_model(k):
    model = AnalogSequential(AnalogLinear(784, k), nn.Sigmoid, AnalogLinear(k,10)).cuda()
return model

x = [100,200,300]
for i in x:
    ...
    model = create_model(i)
    ...

When I run the above code, after the first iteration, I got the message, "segmentation fault (core dumped)".
If I replace AnalogSequential with nn.Sequential and AnalogLinear with nn.Linear, it works. So, I think PyTorch and cuda are not the cause of this issue. In addition, if I run without cuda(), it also works.

How to reproduce

Expected behavior

Other information

Pytorch version: 1.7.1
Package version: git clone
OS: Ubuntu 18.04.2
Python version: 3.8
Conda version (or N/A):
NVIDIA Graphic Driver: 450.51.05
CUDA Version: 11.0
GPU: RTX 6000

Thanks for the detailed report @chaeunl - I'm trying to replicate the issue, as we recently had a segmentation fault appearing in #112 that might have some relation.
Can you confirm the issue can be reproduced constantly (ie. is it always happening consistently at the first  iteration of the loop)?

Thanks for the detailed report @chaeunl - I'm trying to replicate the issue, as we recently had a segmentation fault appearing in #112 that might have some relation.
Can you confirm the issue can be reproduced constantly (ie. is it always happening consistently at the first  iteration of the loop)?

@diego-plan9 , as I simplify my code, I didn't notice that the above code has no problem.
Instead, I found where the error comes from. I think it's about declaring the TransferCompound device.
This is a simplified code and I confirmed it raises error:
from torch import nn
from aihwkit.nn import AnalogSequential, AnalogLinear
from aihwkit.simulator.configs import UnitCellRPUConfig
from aihwkit.simulator.configs.devices import LinearStepDevice, TransferCompound

def create_rpu(which_device="LinearStepDevice"):
    if which_device == "LinearStepDevice":
        rpu = UnitCellRPUConfig(device=LinearStepDevice())
    elif which_device == "TransferCompound":
        rpu = UnitCellRPUConfig(device=TransferCompound(unit_cell_devices=[LinearStepDevice(), LinearStepDevice()]))
    else:
        raise ValueError("Undefined Device")
    return rpu

def create_model(k, which_device="LinearStepDevice"):
    rpu = create_rpu()
    model = AnalogSequential(AnalogLinear(784, k, rpu_config=create_rpu(which_device=which_device)),nn.Sigmoid(),AnalogLinear(k, 10, rpu_config=create_rpu(which_device=which_device))).cuda()
    return model

x = [100, 200, 300]
device = "TransferCompound"
for i in x:
    model = create_model(i, which_device=device)
    print("model built")

If I change device to "LinearStepDevice", it does not raise seg fault.

@diego-plan9 , as I simplify my code, I didn't notice that the above code has no problem.
Instead, I found where the error comes from. I think it's about declaring the TransferCompound device.
This is a simplified code and I confirmed it raises error:
from torch import nn
from aihwkit.nn import AnalogSequential, AnalogLinear
from aihwkit.simulator.configs import UnitCellRPUConfig
from aihwkit.simulator.configs.devices import LinearStepDevice, TransferCompound

def create_rpu(which_device="LinearStepDevice"):
    if which_device == "LinearStepDevice":
        rpu = UnitCellRPUConfig(device=LinearStepDevice())
    elif which_device == "TransferCompound":
        rpu = UnitCellRPUConfig(device=TransferCompound(unit_cell_devices=[LinearStepDevice(), LinearStepDevice()]))
    else:
        raise ValueError("Undefined Device")
    return rpu

def create_model(k, which_device="LinearStepDevice"):
    rpu = create_rpu()
    model = AnalogSequential(AnalogLinear(784, k, rpu_config=create_rpu(which_device=which_device)),nn.Sigmoid(),AnalogLinear(k, 10, rpu_config=create_rpu(which_device=which_device))).cuda()
    return model

x = [100, 200, 300]
device = "TransferCompound"
for i in x:
    model = create_model(i, which_device=device)
    print("model built")

If I change device to "LinearStepDevice", it does not raise seg fault.

Thanks @chaeunl as usual for all the detailed info: I still could not reproduce it but still have some options and configurations to try (and having the exact code and all the pointers help) - will update the issue after exhausting them.

Thanks @chaeunl as usual for all the detailed info: I still could not reproduce it but still have some options and configurations to try (and having the exact code and all the pointers help) - will update the issue after exhausting them.

Thank you, @diego-plan9 .
I am also trying the above code in another environment (CUDA/PyTorch are differed from this case).

Thank you, @diego-plan9 .
I am also trying the above code in another environment (CUDA/PyTorch are differed from this case).

Hi @chaeunl,
Indeed, I now found an issue that produced a segfault for the vector device (the base class of the transfer compound). I am not completely sure whether it is the same issue that you observed, but it occurred when only one of mutliple sub devices of the vector device had diffusion or reset defined.  It is fixed in the upcoming releases.

Thank you so much, @maljoras
Is it merged into github source as of now?  As I clone the code from github directly, I can confirm it now :)

@chaeunl now it is merged. You need to recompile. Let us know if you still see the segfault. Thanks!

Hi @chaeunl,
I found another issue with the CUDA TransferCompound in case of transfer_every smaller than the batch size. The update was in this case not done correctly, and in some cases (network size and batch sizes) the random states size mismatch could crash the training. Please checkout the newest version once the fix is merged.

This should be fixed. Reopen if not.


fix(aws-cloudfront-s3): disable cloudfront access logs when logS3AccessLogs is set to false

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 9ad56c9424ba59ceb0c3fc0df44b2099799a17f1
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Cloudfront access logs are controlled by cloudfront.DistributionProps.enableLogging, but since you have closed this PR I'm assuming that you came to this conclusion. If you have any additional questions, please don't hesitate to ask (although you will need to reopen this PR or start a new issue so we get a notification. Thanks for using Solutions Constructs!


Update de.toml

It seems like the last contributor also translated the themes name, which doesn't make too much sense.

Works for me! Thank you Alexander!


Closing the session if hearbeat fails for many times (when engine crashes)

What do these changes do?
It is quite strange to keep printing messages / exceptions like heartbeat failures when engine crashes. In this pull request, the session will be automatically closed after self._heartbeat_maximum_failures retires. Note that self._heartbeat_maximum_failures is customizable so it should fit advanced users well.
This pull reqests also rename the dummy package name "foo" to "graphscope_runtime".
Related issue number
N/A

Codecov Report

Merging #2088 (c1b6fcc) into main (2119d48) will decrease coverage by 6.61%.
The diff coverage is 42.85%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #2088      +/-   ##
==========================================
- Coverage   71.22%   64.61%   -6.62%
==========================================
  Files          89       89
  Lines        9905     9916      +11
==========================================
- Hits         7055     6407     -648
- Misses       2850     3509     +659

Impacted Files
Coverage Δ

python/graphscope/client/session.py
65.15% <42.85%> (-8.03%)
:arrow_down:

...aphscope/tests/kubernetes/test_resource_builder.py
0.00% <0.00%> (-100.00%)
:arrow_down:

...on/graphscope/tests/kubernetes/test_demo_script.py
0.00% <0.00%> (-91.75%)
:arrow_down:

python/graphscope/deploy/kubernetes/utils.py
11.90% <0.00%> (-58.58%)
:arrow_down:

python/graphscope/deploy/kubernetes/cluster.py
22.67% <0.00%> (-50.93%)
:arrow_down:

...thon/graphscope/tests/kubernetes/test_with_mars.py
0.00% <0.00%> (-44.83%)
:arrow_down:

python/graphscope/interactive/query.py
41.12% <0.00%> (-38.71%)
:arrow_down:

...n/graphscope/deploy/kubernetes/resource_builder.py
30.12% <0.00%> (-25.11%)
:arrow_down:

python/graphscope/client/rpc.py
76.85% <0.00%> (-12.04%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2119d48...c1b6fcc. Read the comment docs.


NoMethodError no superclass method on dynamic attr_json declarations with ActiveAdmin

@garrywilliams reported:

I add some extra fields, based on a list, to the form. They appear and can be amended, but on update I get the error: NoMethodError (super: no superclass method activity=' for #<Thing id: 694281...` (where activity is one of the dynamically added fields).
However, if I then touch app/admin/things.rb everything works correctly from then onwards. I suspect this means that I need to add an additional step after I add the fields to make Rails 'aware' of what I've done i.e. I suspect touching the file triggers something that then updates Rails' view of the world.
ActiveAdmin.register Thing do
  before_action :add_dynamic_attr_json_fields, only: [:new, :create, :edit, :update]

...

form do |f|
  f.actions
  f.inputs "Thing" do

    ...

    allowed_fields = f.object.get_extra_fields || ""
    allowed_fields = allowed_fields.split(",").map(&:strip)

    allowed_fields.each do |key|
      f.input key, as: :string, input_html: { name: "thing[#{key}]", value: f.object.json_attributes[key] }
    end

  controller do

    def add_dynamic_attr_json_fields
      Thing.add_dynamic_attr_json_fields(params[:id])

      thing_id = params[:id]

      # Get a comma separated list of field names from the things' thing_groups account
      allowed_fields = thing_groups_things.first.thing_group.account.thing_extra_fields_allowed || ""
      allowed_fields = allowed_fields.split(",").map(&:strip)

      allowed_fields.each do |key|
        unless Thing.attribute_method?(key.to_sym)
          Thing.attr_json key.to_sym, :string, store_key: key
        end
      end

    end

    def update
      add_dynamic_attr_json_fields
      super
    end

THanks @jrochkind, yes that helps a lot. You're right, I changed my approach to use the json directly and that's working fine. I've learnt a lot from this though, and next time I'll use the attr_json gem as nature intended :) Many thanks!

@garrywilliams OK, thanks for getting back to me. And thanks for trying it out, and getting in touch! I'm going to close this Issue.
I personally am also interested in ways to create attributes dynamically at runtime, I understand the motivation. But I haven't really sat down to try to figure out how to dot hat yet that out yet -- it may be that the path of trying to mirror Rails attributes won't work well there, as Rails attributes themselves can't really be created dynamically at runtime.  It's possible it would work best with a pretty different design... but then it might not integrate as well with things that integrate with Rails attributes.  I haven't really figured it out.
It's also possible that you can dynamically create a whole subclass at once at runtime... but you'd still need to "remember" it somehow so it was still there after a restart... and you still might need to struggle with Rails development mode reloading a bit... and it might just not work.
These are things I've thought about, I get the use case, I just haven't figured it out myself yet either.


Update visibility_detector

Update visibility_detector to 0.4.0+2
Error:
Because no versions of auto_animated match >3.1.0 <4.0.0 and auto_animated 3.1.0 depends on visibility_detector ^0.3.3, auto_animated ^3.1.0 requires visibility_detector ^0.3.3. And because flutter_chat_ui >=1.6.7 depends on visibility_detector ^0.4.0+2, auto_animated ^3.1.0 is incompatible with flutter_chat_ui >=1.6.7. So, because sellme depends on both flutter_chat_ui ^1.6.8 and auto_animated ^3.1.0, version solving failed. exit code 1

@malikdoksoz thanks for your contribution!


[Bug]: not fully loaded in timeline.html when workload archived

wrong:

correct:

fixed：

reopen, multi-drivers, can not load all metrics.


Using GHE with Pipeline DSL

I'm looking for a way to use GHE using the build pipeline DSL.  It looks like I need to modify the credentials, but I'd appreciate a way that we could use environment variables or some other way to point this plugin at a private Github Enterprise instance.
Any guidance here would be appreciated.

Alternatively, how would one change the configuration of the plugin from groovy?

+1


🐛 Linter freezes in about 5-20% of runs

Environment information
CLI:
  Version:                      1.0.0
  Color support:                true

Platform:
  CPU Architecture:             aarch64
  OS:                           macos

Environment:
  BIOME_LOG_DIR:                unset
  NO_COLOR:                     unset
  TERM:                         "xterm-256color"
  JS_RUNTIME_VERSION:           "v18.16.0"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         "npm/9.5.1"

Biome Configuration:
  Status:                       Loaded successfully
  Formatter disabled:           true
  Linter disabled:              false
  Organize imports disabled:    true
  VCS disabled:                 true

Workspace:
  Open Documents:               0

Discovering running Biome servers...

Running Biome Server: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ℹ The client isn't connected to any server but rage discovered this running Biome server.

Server:
  Version:                      1.0.0
  Name:                         rome_lsp
  CPU Architecture:             aarch64
  OS:                           macos

Workspace:
  Open Documents:               0

Other Active Server Workspaces:

Workspace:
  Open Documents:               0
  Client Name:                  Visual Studio Code
  Client Version:               1.82.0

Biome Server Log:

⚠ Please review the content of the log file before sharing it publicly as it may contain sensitive information:
  * Path names that may reveal your name, a project name, or the name of your employer.
  * Source code

WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
WARN tower_lsp Got a textDocument/didSave notification, but it is not implemented
INFO rome_lsp::server Starting Biome Language Server...
 Weirdly, it freezes way more often when I run a release, which maybe hints that it has something to do with current CPU load? I don't see any CPU activity when its frozen so more of a lock somewhere.
Expected result
Should not lock.
Code of Conduct

[X] I agree to follow Biome's Code of Conduct

In my local PC, I got these error after running yarn lint. (Doesn't confirm freeze, linting is success)
$ ../../node_modules/.bin/biome check src (@tamagui/theme-base)
(node:29032) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
(node:29032) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:29032) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. Use emitter.setMaxListeners() to increase limit
[@tamagui/theme-base::biome] Checked 1 file(s) in 1019µs
success ✨ Done in 700ms

d002024: k8s:(stage0.cybozu-ne.co-stage0.cybozu-ne.co) in ~/code/github.com/tamagui/tamagui on  master via  v18.16.0

my environment info
CLI:
  Version:                      1.2.2
  Color support:                true

Platform:
  CPU Architecture:             aarch64
  OS:                           macos

Environment:
  BIOME_LOG_DIR:                unset
  NO_COLOR:                     unset
  TERM:                         "xterm-256color"
  JS_RUNTIME_VERSION:           "v18.16.0"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         "npm/9.5.1"

Biome Configuration:
  Status:                       Loaded successfully
  Formatter disabled:           true
  Linter disabled:              false
  Organize imports disabled:    true
  VCS disabled:                 true

Workspace:
  Open Documents:               0

Discovering running Biome servers...

Server:
  Status:                       stopped

I am wondering why the version described in your biome rage logs is different from the one specified in package.json. Could you like to  remove all the node_modules and see if the same problem occurs with the correct version?

@natew  Do you still experience the issue? We fixed some bugs since you posted the issue

@natew Several improvements has been integrated in the recent versions of Biome. Do you still encounter the issue?


Add CI

This repo should have CI pipelines. This should wait for a Gradle project to be generated first

added by #16


Hide y axes

Is it possible to entirely hide y axes and have the chart plot area fill the whole space?
I've tried using a yaxis config like this:
{
  axisTicks: {
    show: false
  },
  axisBorder: {
    show: false
  },
  labels: {
    show: false
  },
  title: {
    text: ""
  }
}

That hides the y axes but leaves a blank space. I've tried setting various width properties to 0 too, but it comes out the same. Is there a way to hide the y axis (or axes) completely and have the chart plot area fill the whole horizontal space?

Try this
{
  floating: true,
  axisTicks: {
    show: false
  },
  axisBorder: {
    show: false
  },
  labels: {
    show: false
  },
  title: {
    text: ""
  }
}

The floating option will take the yaxis area out of chart's plotting area. It is similar to position: absolute in CSS :)

Perfect, thanks.
I missed this because I didn't realise there were more config options beyond the ones in the sample object at the top of the page at https://apexcharts.com/docs/options/yaxis/. Thanks very much for pointing this out.

It should be in the docs. Don't know I how missed it.
Thanks for pointing out that page!

Anyone who's trying to show the floating yAxis without dragging it into the plotting area, use the CSS property overflow: visible on the SVG element.

Hope you are doing well,
i used all these floating: true,
axisTicks: {
show: false
},
axisBorder: {
show: false
},
labels: {
show: false
},
but x and y axis of bar chart with negative value is not hide , i just want to hide all axis only show bar line


chore(main): release library 3.0.0

:robot: I have created a release beep boop
3.0.0 (2024-11-08)
⚠ BREAKING CHANGES

This change modifies the directory names in the MyTestDirectory file. To upgrade, run your tests once, and then commit the changes to that file. That's all.

Features

add / to the end of directory names to make it clear (#114) (f40c912)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

library-v3.0.0
:sunflower:


Pagination

Here is an early example of pagination support
im thinking that we hang #paginate off of the resource_proxy
examples:
gh.user.repos.paginate :page => 1, :per_page => 100 #=> [] of repos

that way we can hang paging information off of the proxy as well
gh.user.repos.paginate(:page => 1).current_page #=> 1
gh.user.repos.paginate(:page => 1).next_page #=> 2
gh.user.repos.paginate(:page => 1).last_page #=> 5
gh.user.repos.paginate(:page => 1).total #=> 122

Next phase we have an #all method that will loop through all the pages and give you return all the pages in one array
gh.user.repos.all.size() #=> 122

Opening up this pull request for some feedback while I work on it. Definitely not ready to pull in yet

Added support for filter params
gh.user.repos(:type => "public") #=> http://api.github.com/user/repos?type=public

Can also be chained with pagination
gh.user.repos(:type => "public").paginate(:page => 2) #=>  http://api.github.com/user/repos?type=public&page=2

I'm at our company summit right now, sorry its taking me so long to respond. Probably won't be able to really sit down and look at stuff until the weekend. Talk to ya soon!

So... What do you think?
I'm actually pretty happy with this method. The only thing left is to make a pass through the library and
finish up the missing pieces of the api and we could 1.0 this thing.

BTW! isnt github freaking incredible.... I love the pull request feature and how I'm able to document thought process and
progress while we work on this feature.

So all looks good except for making it 1.8 compatible and updating a few docs (including the readme). Once those are complete lets merge. I don't think we're quite at 1.0 yet because we're not API complete yet are we? I think we still have the following to implement:

http://developer.github.com/v3/pulls/comments/
http://developer.github.com/v3/git/
http://developer.github.com/v3/orgs/teams/
http://developer.github.com/v3/repos/collaborators/
and a few more...

I guess we could go to 1.0 before implementing everything, but my inclination would be not to. Thoughts?

I agree, we should be as api complete as possible before 1.0
Since you work at github now, could you try and find out if we can send the V2 API token from here https://github.com/account/admin as the password in basic authentication
That would be baller for writing command line apps use the v3 api, I am really concerned about storing my
password in plain text on my machine

So after asking around it sounds like the API token available on that page will be going away. But hope is not lost, check this out: https://github.com/blog/977-access-your-event-timelines-and-oauth-tokens-through-the-api
We should work that into the gem so an CLI apps written that use ghee will automatically prompt for user/pass first. We'll be limited to repo specific tasks though if I understand that post right.

Yes this is perfect
I can use highline to get user/pass and stuff it into the git config :)
I like to have a cli for release
ghee issues -o "Hellz yeah open an issue"

I want to be able to grep through issues
ghee issues | grep "Bug: "

I love it, but I'd be tempted to pull this type of stuff out into a separate gem that just uses Ghee. I love keep libraries small and focused.
On that note, with your example we'll have to have the CLI look at where its executed for a .git folder, then we can read the .git/config and get the repo name from it so you don't have to specify the repo on the command line.
This is gonna be awesome :) How do you feel about putting it into a separate gem?

Also https://github.com/defunkt/github-gem does some of this stuff already. Worth taking a look at.

Do you have time to screenshare tomorrow or this weekend? We could get everything transferred over quickly if we just screenshare for a few minutes I'm thinking. I'll email you directly with my gchat/aim credentials.
On Wednesday, February 8, 2012 at 6:17 PM, Ryan Rauh wrote:

I'm going to push this into master. I'm going to force push on top of the little changes I made to the readme
This might give you fits when you pull that latest code
I'm going to bump the version to something like "0.7.0" because I would say its about
70% api complete. There's some outliers and I don't really need right now and I'm hoping someone else might
contibute considering the groundwork is laid its mostly filling the gaps now
Also would you consider switching the main fork over to rauhryan/ghee?
Can I also get some help publishing the new gem?
Thanks!
Ryan

Reply to this email directly or view it on GitHub:
https://github.com/jonmagic/ghee/pull/3#issuecomment-3878587


Display a broken layer when ghost node appears

So, while we are fixing the ghost node thing, why not provide a way to manually fix it in Builder?

cc @CartoDB/design @noguerol @CartoDB/frontend

Hi guys, love it! only some small comments:

I love the ghost icon, but... I think it's too much. I'd maintain the icon layer
I'd remove the background, it adds a lot of noise

the rest is chachi piruli

@piensaenpixel, about the icon 😢 , and about the background, up to you, but take into account that the map is broken due to that layer, so we should highlighted it in any way to focus the user in the part...

Yes, I know. We are maintaining the border :) and we are also showing the infobox and alert icon. My proposal is to release  it with these changes and we can evaluate if it's enough and works (or not) :)

:+1:, ok, sounds good man, thanks for reviewing it ❤ .
BTW, there won't be any icon because that layer is broken and, of course, doesn't contain any geometry, ok?

cool then without icon :)

One thing guys, I think we should make that icon red, like the outline, instead of yellow, given that it's not a warning but an error that literally broke the map.

One thing guys, I think we should make that icon red, like the outline, instead of yellow, given that it's not a warning but an error that literally broke the map.

👍

Summoning @CartoDB/support @kevin-reilly and @noguerol for awareness, given this is an issue that pops up recurrently. It is not a permanent solution but simplifies massively the resolution

Guys, this is amazing! Love it!

Ready for code review and acceptance if so.

Deploying it in ded03 for acceptance. For anyone who wants to test it 🙏 .

I pass several checks yesterday in staging and local, merging guys.


Tags in docker inspect contains digests

#13185 added "Tags" to docker inspect output but that array will also contain image digests and the output isn't really tags but repo:tag pairs(references). is this intentional? Maybe we should rename it.
/images/json uses keys RepoTags and RepoDigests

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

RepoTags and RepoDigests sgtm for consistency, but that would also mean not just renaming, but also splitting them up, correct?

@thaJeztah Yes, although the fact that we currently keep them together should be an implementation detail for historical reasons that may change in the future.

@tonistiigi on it :wink:


Use the new right link for audit policy example

v1.7.0-rc.1 tag doesn't contain this pr:
https://github.com/kubernetes/kubernetes/pull/48086
so, it's a wrong example for users.
Uese the new v1.7.0 tag instead.

NOTE: Please check the “Allow edits from maintainers” box (see image below) to
allow reviewers to fix problems on your patch and speed up the review process.
Please delete this note before submitting the pull request.

This change is

@ericchiang

/lgtm
Thanks!


subcontrol-of relationship between a control and an control enhancement appear to be missing in Rev 5

In searching the frameworks/nist800-53-r5/stix/nist800-53-r5-mappings.json I don't see any relationships defined between the control and the control's enhancements.  For example, there is no subcontrol-of relationship between the course-of-action object representing the AC-2 "Account Management" control and its control enhancement AC-2(1) "Account Management | Automated System Account Management".
Is this a known limitation?

I can confirm that there are no subcontrol-of relationships in the output STIX. It looks like the parser is implemented to build them, but they are not being built for somer reason. It's probably a bug, but will require some further digging to determine the exact cause.

It appears the issue is that when the nist800-53-r5-controls.tsv file was created, the column containing  related controls name changed from "related" to "related controls".  As a result, there was a place at line #54 in parse_controls.py that didn't get updated.  The fix was to change the value from "related" to "Related Controls" as shown below:
`self.related = get_column("Related Controls").split(", ") if get_column("related") else []`

changes to
`self.related = get_column("Related Controls").split(", ") if get_column("Related Controls") else []`

This also fixed the issue where relationship between a control and related controls was also missing.


Added dependabot configuration

Added dependabot configuration, configured for GE and CCUD plugins, as well as for github actions.
Motivation:
Dependabot will check GE and CCUD plugin versions and open PRs with updates for them. It will also check github action versions and open PRs for that.
Modifications:

Added dependabot configuration, configured for GE and CCUD plugins, as well as for github actions.

Result:

It will open PRs for updates to Gradle Enterprise and Common Custom User Data Gradle plugins.
It will open PRs for updates to Github Actions used.

I've added this commit to my repo to check if:

dependabot can find the dependencies well
just to check what the pull request will look like

Let me go ahead and merge this if I don't find any issues 😄
https://github.com/jrhee17/armeria/commits/main

After this is merged, dependabot PRs for dependency version updates will need to be enabled in the repositories settings (if not already). You can enable it in security settings.


SPARK-19138: Don't return SparkSession for stopped SparkContext.

What changes were proposed in this pull request?

Update SparkSession to always return a session using the current SparkContext
Add SparkContext#isStopped

How was this patch tested?
Tested that sqlContext.sql works when created after closing a Spark context:
sc.stop()
sc = SparkContext(conf=SparkConf())
sqlContext = HiveContext(sc)

Test build #71097 has started for PR 16519 at commit 6d56df1.

Same as #16454? (Although I kinda prefer you're using isStopped().)

Yeah, it looks like this is basically the same problem. I'll add some review comments to the other issue.

Closing in favor of #16454.

Test build #71097 has finished for PR 16519 at commit 6d56df1.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71097/
Test FAILed.


Support filtering out objects with owner refs

There's generally no great value in archiving objects having an owner
reference (ie. pods generated from cronjobs/daemonsets/replicasets/...),
when their owner is already archived (and able to re-generate them).
This should reduce the commit churn on busy clusters, or with many
cronjobs running at high frequency.
While at it, group exclusion filters so we don't have to pass an increasing
amount of functions arguments around, consistently use plural forms in
kind names examples, and also unit test the recently introduced namespace
exclusion filter.
Closes #88

Coverage increased (+0.7%) to 85.906% when pulling 0444d84bbec8ed5b6aad489a2d5174be869299ce on filter-owner-ref into b5dc26a89db57d816ac4d9efad9fdc617f1c5a4b on master.


How to follow the customer journey of the users ?

Hello,
Is there a way to implement a goal manager to follow the customer journey of the users (Event Management).
Sincerely
Nicolas

That at this time. Those features are planned for Q2 this year.


Implement graphical result display of Kubescape scans in GitHub action

Kubescape is producing results in two formats: JUnit XML and JSON (own format).
Kubescape GitHub action is using the JUnit XML which is limited (and it is control oriented)
We want to implement a GitHub action which implements in javascript a nice parsing and display of scan results. Additional requirements:

Implement it from a resource point of view  (showing resource at the first level and failed controls under each of them).
Link original files to the results so user can jump from the results to the file where the issue was found

Hey all, let's start with first come first serve :) @octonawish-akcodes is in charge, please talk to him about co-joining this issue

@octonawish-akcodes I suggest you talking to @dwertent about this. We had some ideas in mind which would make this a killer feature :)

@octonawish-akcodes wanna work on this together?

Hi @octonawish-akcodes  , I want to join for this issue .

@octonawish-akcodes  can you assign please i want to solve.

@Aman123lug you can take it i will work on another one

@octonawish-akcodes @satvik2131 @Maniktherana , any news on this?

@slashben  I was not assigned the issue , can I work on it ?

@slashben I wasn't assigned anything nor in touch with anyone here. I'm still open to working on this

@Maniktherana @satvik2131 , I suggest you two connect and (if you want) start working on this.
What I think we should aim is the UI/UX feeling of the scan results should be something similar to what you see in the "repository scanning" at https://cloud.armosec.io .
What I mean that you should show the results per file -> per resource -> controls

HI @slashben I have talked to @Maniktherana and we are ready to work on the task , I understand the task and can start working . Can you assign us the task.

@slashben if anyone not able to solve this reassigned me

@Maniktherana @satvik2131 , any status on this?

Hi @slashben , I do have tried some of the attempts , but , I guess I don't get a clarity on the thing what to implement , I also asked in discord but didn't got any response , can you explain me the issue in the regular tuesday meet ? , once again
and don't have any update from @Maniktherana

Run the Kubescape scan in your GitHub Actions workflow.
Extract the scan results and store them in a format that can be easily visualized (e.g JSON, CSV).
Use a tool like Plotly or D3.js to create a graphical representation of the scan results.
Publish the graph as a step in your GitHub Actions workflow and make it available in the Actions tab of your repository.
Optionally, you can use the GitHub API to embed the graph in the pull request or issue where the scan was run
think probably this will work after these steps

@slashben assign me man

Thanks @Aman123lug !

Hey @Aman123lug! You still working on this?

@slashben @craigbox @matthyx I'd like to take this up.
Just one clarification, since we already have an action written in bash here, should we rewrite this same one and add the plotting functionality as well, or maybe leave this one be and make another one instead? Thanks!

I think that since this request was opened, GitHub has added SARIF support, and we've updated the GitHub action to export to SARIF format such that we can get output into the code scanner.
I don't know if there's any action here.  What does @slashben think?


Landing modal

Adds a modal to the landing page that can be configured to promote different features on the site. In this specific configuration, the landing modal promotes the new scheduler feature. Note: The modal uses local storage to ensure that a specific feature is only promoted once on each device.

NOTE @christinas24 The merge appears to include some changes to frontend/src/graphql/graphql.ts which were not intended. Please ensure these changes are valid and/or delete them before approving the merge 😊.

NOTE @christinas24 The merge appears to include some changes to frontend/src/graphql/graphql.ts which were not intended. Please ensure these changes are valid and/or delete them before approving the merge 😊.

For reasons on the front end that are still unclear, graphql.ts gets updated automatic by some graphql-codegen package. Ideally we should throw this away, but alas... I wouldn't worry about it


WIP Product Form Abstraction

WHY are these changes introduced?
Implements: https://github.com/Shopify/hydrogen-internal/issues/23
See https://gist.github.com/blittle/d9205d4ac72528005dc6f3104c328ecd for a public explanation.

WHAT is this pull request doing?

HOW to test your changes?

Post-merge steps

Checklist

[X] I've read the Contributing Guidelines
[X] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've added a changeset if this PR contains user-facing or noteworthy changes
[ ] I've added tests to cover my changes
[ ] I've added or updated the documentation

Also left comments on the proposal: https://gist.github.com/blittle/d9205d4ac72528005dc6f3104c328ecd?permalink_comment_id=4607765#gistcomment-4607765


How to remove the 'self' link from a relationship links object when using the JsonApiSerializer

As the title says, I seem to be at an impasse with regards to how to (or if you can at all) remove the "self" link from the relationships object.
As per the V1.0 specification... https://jsonapi.org/format/#document-resource-object-relationships

A  “relationship object” MUST contain at least one of the following:
links: a links object containing at least one of the following:
self: a link for the relationship itself (a “relationship link”). This link allows the client to directly manipulate the relationship. For example, removing an author through an article’s relationship URL would disconnect the person from the article without deleting the people resource itself. When fetched successfully, this link returns the linkage for the related resources as its primary data. (See Fetching Relationships.)
related: a related resource link

We are implementing out API whereby we do not want the relationship to be manipulated directly, and as such, do not want the "self" link declaring.
Our issue therefore is not with the spec itself, as we will be including the related link, and as such will be compliant. The issue is the ability to override what looks like a hard-coded set of links, as per the below.
JsonApiSerializer.php
$resource['relationships'][$relationshipKey] = array_merge(
    [
        'links' => [
            'self' => "{$this->baseUrl}/{$resource['type']}/{$resource['id']}/relationships/{$relationshipKey}",
            'related' => "{$this->baseUrl}/{$resource['type']}/{$resource['id']}/{$relationshipKey}",
        ]
    ],
    $resource['relationships'][$relationshipKey]
);

I have searched the issues as best I can related to how to remove the link, as well as trawled through the serializer, however cannot find a way to remove/suppress the "self" link (other than creating a fully custom serializer that is).
Am I going mad, or is this not available?
Happy to work on a solution if it isn't available, just figured I would ask before getting stuck i.

you need to extend the serializer and override injectAvailableIncludeData method to call a new addRelationshipLinks method.

Hi Joe,
Yep, knew that was a possibility, just wanted to sound out the community before doing so... nothing worse than doubling up.
Thanks for your answer :)


Can't we have caching capabilities here?

Can't we have caching capabilities here?

I'm also hoping for cache capability :) just like actions/setup-java@v4 with cache: gradle or nttld/setup-ndk@v1 with local-cache: true


Fix build with OpenVR 0.9.10

All of these new methods return 0 or NULL, or do nothing, in Valve's own drivers.
The workaround should not be necessary after Valve fixes https://github.com/ValveSoftware/openvr/issues/28. Right now it is necessary. The return types were determined by looking at the exported symbols from the lib.

Ugh, looks like 0.9.10 is broken in more ways than one — the dylib here refuses to talk to the updated SteamVR package. I'll look into this, but it's likely all Valve at this point.

By the way, I don't get any weird errors with SteamVR-OSVR at this point. I guess I'll be able to do more complete testing once I have an HDK.

Thanks for doing this (complete with workaround for the steamvr bug!)!

I should add: SteamVR is only completely broken on Mac OS X. It works fine on Linux and Windows, in my testing.


Test and Support ASM

Test and support inline assembly, might work, who knows, at least verify it doesn't panic for v1.0.0 release.

It does work as I can parse the Go compiler's source. I don't want to add any more tests to reduce the bloat, but if there's something that should be added, I'll add later - ensuring the ASM is compatible across all architectures.


Hotfix/keypair add in local sh

During my attempts to run this project, hours of googling and debugging I've mentioned, that nova keypair-add command failed.
I've troubleshoot this issue and found out, that it fails because authorized_keys file contains comments stating it's been created by puppet. Obviously keystone couldn't recognize it's contents as a vaild public key. Perhaps it did work in the past, I'm not sure, but now it doesn't:
stack@manager:~/.ssh$ openstack keypair create --public-key authorized_keys default
Keypair data is invalid: failed to generate fingerprint (HTTP 400) (Request-ID: req-5b18a7c2-a5e3-48e6-a4c4-a5dab9ed346e)
stack@manager:~/.ssh$ cat authorized_keys
# HEADER: This file was autogenerated at 2016-07-11 12:02:13 +0000
# HEADER: by puppet.  While it can still be managed manually, it
# HEADER: is definitely not recommended.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3vsGZrCRsBywNgVr1ofzTFK7cD2k87mY7LgwTlJea+2LBPPxOjKC5hbvIgcv6QTjvoNsZvqnfhLqj2SbbqbKPlSzOaFAL6JizVhvNnbB8zVKul/wcAfDJJZPi700MhS8YNhS/FkAAqYsN+ar0nfPz5XmEGzvMPqkafnEv2iFxSeqXjEK4lJ7AmcvzBZGkDEIpSRrLuvXliMmowe3T0kwpqEGtqrEtG63YtKoXhGWCCyhsl0TXBLWwVM7aoEJVxikQD9nJYHp5G2qwgWDAPIovm8in9l3iLv+ZHP9Ua4YeqLI+lclpsLqZJXlUsLZtV0Cmnb4Uca6RC3VbVFTphq73 stack

After removing those comments during debug, adding the key succeeds. So I'm publishing my fix in this PR. I basically just retrieve the first public key from authorized_keys, put it into temporary location, pass this valid file to nova command and finally remove it.

Thank you for contributing to openstack-dev/devstack-vagrant!
openstack-dev/devstack-vagrant uses Gerrit for code review.
If you have never contributed to OpenStack before make sure you have read the
getting started documentation:
http://docs.openstack.org/infra/manual/developers.html#getting-started
Otherwise please visit
http://docs.openstack.org/infra/manual/developers.html#development-workflow
and follow the instructions there to upload your change to Gerrit.

https://review.openstack.org/340992


Does this package include licenses into the application or dynamically load them from GitHub?

If I use AcknowListSwiftUIView(acknowList: AcknowParser.defaultPackages()!), would that include the license text in the application bundle or would it dynamically load and display the text from GitHub?
The latter case would in my understanding go against the text of many licenses (MIT, …) and therefore not be compliant.

That’s an interesting question... SPM packages don’t include the license text, so yes, it will try to load it from GitHub.
Can you highlight the relevant part of the license here? To be clear: AcknowList’s goal isn’t to offer license compliance, it just tries to make it easier to include those licenses and related acknowledgments.

Can you highlight the relevant part of the license here?

For the MIT license it would be this part:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

I don't see why binary forms wouldn't be considered "substantial portions of the Software". And "included" is quite clear. It does not mean "accessible with Internet connection".
Others seem to agree:

https://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html
https://osr.finos.org/docs/osr-resources/oslc-licenses

So I understand that AcknowList’s goal is not license compliance but if I still need to provide the license in another way, doesn't it kind of defy the purpose of (also) using AcknowList? Honest question.

That makes total sense. I’m actually curious if this has been discussed on the SPM project itself, now.
As for AcknowList, it can still help you include those licenses into your app. But with SPM (as opposed to CocoaPods), you’ll need to manually import/define/hardcode those licenses. Here’s an example.

Thanks, I'll check out the example later.

That makes total sense. I’m actually curious if this has been discussed on the SPM project itself, now.

I think it's not an issue for SPM as SPM does not distribute anything. SPM allows you to include software. If you include a Package.swift with package links you're not yet including licensed code. You're merely providing a way for the "consumer" to pull that licensed code.
In case the pulled code would be included in another product in either binary or source form there might be the requirement to include a license.


Defining your own sub-commands?

New to go and this templating thing. Is it possible to define your own subcommands?
I would love to have jira sprint to run jira ls --query="sprint in openSprints() and project=ACME"
I tried to go with something like
case $JIRA_OPERATION in
  sprint)
    echo "wohoo"
    ;;
  list)
    echo "template: table"
    ;;
esac

but that fails.

Yup, you can do that, it shoud look something like this:
case $JIRA_OPERATION in
  sprint)
    echo "command: list"
    echo "query: sprint in openSprints() and project=ACME"
    echo "template: table"
    ;;
  list)
   echo "template: table"
   ;;
esac

You needed to set the "command" property to that the internal go-jira command would be.
I have also use an ego command so show me everything open and assigned to me:
case $JIRA_OPERATION in
  mine)
    echo "command: list"
    echo "query: status not in ('CLOSED', 'RESOLVED') and assignee=$USER ORDER BY priority asc, created"
    echo "template: table"
    ;;;
esac

Awesome! Exactly what I needed!


Joss paper updates

Updates to the JOSS paper based on reviewer comments.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 60.19%. Comparing base (d4ed9ae) to head (894a61e).
Report is 32 commits behind head on main.

:exclamation:  There is a different number of reports uploaded between BASE (d4ed9ae) and HEAD (894a61e). Click for more details.
HEAD has 9 uploads less than BASE

Flag
BASE (d4ed9ae)
HEAD (894a61e)

unit-tests
11
2

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #48      +/-   ##
==========================================
- Coverage   66.71%   60.19%   -6.53%
==========================================
  Files           8        8
  Lines         712      942     +230
==========================================
+ Hits          475      567      +92
- Misses        237      375     +138

Flag
Coverage Δ

unit-tests
60.19% <ø> (-6.53%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

In the acknowledgements, 'OceanParcels team', or 'Lagrangian Ocean Analysis team'?

'Lagrangian Ocean Analysis team at Utrecht University'?


[BUG] Could not update/delete jobs/tagrets in CLI when logged in as github user with admin role

The process is that we logged in as GitHub user, the role is an admin in the tenant, we created jobs and targets in web UI.
Then we log in as github user in CLI, try to update or delete a job, it responded successfully, but the job did not get updated or deleted as expected
then we logged in as admin and password, assign the admin role in the gui, then we also logged in shield through CLI using admin and password,  we can successfully delete or update jobs
then we logged out as admin user, logged in  as github user, now we can update and delete jobs now
both admin and github user has admin role assigned in the tenant

Were you able to capture HTTP trace/debugging output from the CLI?  That would be most helpful in tracking down the root cause of this issue.

@jhunt I was not able to do that yet since my github oauth did not work. I will come back to it later
github oauth gives me 501

I could not reproduce the bug in our lab, I used the same version of the kit and GitHub OAuth. Everything worked for me. The main differences from the env that has the issue are 1) proxy 2) enterprise GitHub instead of an org in GitHub

Closing this as we could not reproduce the original aberrant behavior.  Please re-open if you find a way to reproduce.  Thanks!


Charm++ reduction examples

Original issue: https://charm.cs.illinois.edu/redmine/issues/561

AllReduce and RedExample are exactly the same, except some minor changes - can also be combined with typed_reduction
These should all be combined to illustrate all reduce, multi dimension section reductions and typed reduction.

Original date: 2014-11-11 22:10:32

Cleaned-up and combined all reduction examples in one reductions folder.

Original date: 2015-02-12 17:26:00

Since Bilge has already done this.

Original date: 2015-10-27 21:08:56

~~https://charm.cs.illinois.edu/gerrit/#/c/421/~~ https://github.com/UIUC-PPL/charm/commit/bf934ba08c8564146cfac79f9e78b7209df271a9


[Mainnet] Upgrade Version 5

This checklist should apply every bump version on mainnet branch

Spec version
List the features of PRs in this upgrade
Have types changed? (Will this affect API/sManager/Subscan/Other Services)
Need do the storage migration?
Has interface changed?(Extrinsic/Chain state/Event changed)
Make sure the WASM building env
Need announcements?
Need initial actions? (like setXXXPot/setFlags/...)

spec_version=5
#742
No
Yes.

Will auto bond all CRU18 into the staking module

No.
ubuntu 20.04
No.
No.


[SYNC]

Thanks for sending a pull request!
Please make sure you click the link above to view the contribution guidelines,
then fill out the blanks below.
Description
(Brief description on what this PR is about)
What does this implement/fix? Explain your changes.
...
Pull request type

[ ] [DATASET] Add a new dataset
[ ] [BUGFIX] Bugfix
[ ] [FEATURE] New feature (non-breaking change which adds functionality)
[ ] [BREAKING] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] [STYLE] Code style update (formatting, renaming)
[ ] [REFACTOR] Refactoring (no functional changes, no api changes)
[ ] [BUILD] Build related changes
[ ] [DOC] Documentation content changes
[ ] [OTHER] Other (please describe):

Changes

Feature1, tests, (and when applicable, API doc)
Feature2, tests, (and when applicable, API doc)

or

Fix1, tests
Fix2, tests

Does this close any currently open issues?
...
Any relevant logs, error output, etc?
...
Checklist
Before you submit a pull request, please make sure you have to following:
Essentials

[ ] PR's title starts with a category (e.g. [BUGFIX], [FEATURE], [BREAKING], [DOC], etc)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage and al tests passing
[ ] Code is well-documented (extended the README / documentation, if necessary)
[ ] If this PR is your first one, add your name and github account to AUTHORS.md

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

Codecov Report

Merging #12 (986f955) into master (52f70e5) will decrease coverage by 0.14%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
- Coverage   79.01%   78.87%   -0.15%
==========================================
  Files          19       19
  Lines         710      710
==========================================
- Hits          561      560       -1
- Misses        149      150       +1

Impacted Files
Coverage Δ

EduData/DataSet/download_data/download_data.py
90.58% <ø> (-1.18%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 52f70e5...986f955. Read the comment docs.


The game client doesn't detect controller

sometimes my controller not working when the game launched with this way. need to restart few times till it detect my controller again.
additional note: i disable steam controller configuration for the game.

quick update: the issue disappear after enabling steam controller config/input.
perhaps, you want to add that information to the readme page for future Cmdr who might run across the same issue.

also, there's this option in ED's launcher.

maybe the launcher check for a controller on its own, and skipping it disrupt that process?

after further testing, i found out that, if i run it with steam controller configuration disabled and without the /autoquit command, the subsequent runs of the game can detect my controller just fine.

i think the simplest possible solution could be adding delay before the real execution or /autoquit command, or add another command for that single purpose (like delayed launch and/or delayed quit, both in single command or separate commands) for more flexibility on the user's end.