The test result of detector trained only on seen classes

Hi, I ran a test of the epoch_12 you provided in the readme.
The result came out as follow:
num_classes ----------- 80
+----------------+-------+--------+--------+-----------+----------+
| class          | gts   | dets   | recall | precision | ap       |
+----------------+-------+--------+--------+-----------+----------+
| person         | 15697 | 198482 | 0.895  | 0.071     | 0.660139 |
| bicycle        | 290   | 4338   | 0.628  | 0.042     | 0.294971 |
| car            | 2392  | 47918  | 0.788  | 0.039     | 0.192860 |
| motorcycle     | 118   | 2004   | 0.720  | 0.042     | 0.510870 |
| bus            | 208   | 7563   | 0.707  | 0.019     | 0.196079 |
| truck          | 779   | 11144  | 0.416  | 0.029     | 0.039854 |
| boat           | 211   | 17642  | 0.616  | 0.007     | 0.174057 |
| traffic_light  | 563   | 18209  | 0.650  | 0.020     | 0.173152 |
| fire_hydrant   | 52    | 936    | 0.827  | 0.046     | 0.546072 |
| stop_sign      | 47    | 1365   | 0.745  | 0.026     | 0.521156 |
| bench          | 569   | 37449  | 0.489  | 0.007     | 0.049016 |
| bird           | 235   | 31663  | 0.523  | 0.004     | 0.124819 |
| dog            | 437   | 8283   | 0.787  | 0.042     | 0.178770 |
| horse          | 35    | 621    | 0.629  | 0.035     | 0.453032 |
| sheep          | 29    | 8115   | 0.310  | 0.001     | 0.022340 |
| cow            | 37    | 1310   | 0.595  | 0.017     | 0.140441 |
| elephant       | 6     | 288    | 0.500  | 0.010     | 0.500000 |
| giraffe        | 7     | 377    | 0.857  | 0.016     | 0.563532 |
| backpack       | 955   | 8777   | 0.466  | 0.051     | 0.054695 |
| umbrella       | 320   | 6690   | 0.672  | 0.032     | 0.225762 |
| handbag        | 1112  | 13397  | 0.424  | 0.035     | 0.082742 |
| tie            | 160   | 7823   | 0.613  | 0.013     | 0.102578 |
| skis           | 468   | 20539  | 0.560  | 0.013     | 0.044583 |
| sports_ball    | 77    | 12894  | 0.545  | 0.003     | 0.035616 |
| kite           | 31    | 11299  | 0.742  | 0.002     | 0.248010 |
| baseball_bat   | 7     | 1684   | 0.857  | 0.004     | 0.139171 |
| baseball_glove | 3     | 1530   | 0.000  | 0.000     | 0.000000 |
| skateboard     | 24    | 3004   | 0.833  | 0.007     | 0.605755 |
| surfboard      | 14    | 8140   | 0.357  | 0.001     | 0.011808 |
| tennis_racket  | 11    | 1705   | 0.455  | 0.003     | 0.200000 |
| bottle         | 2375  | 21796  | 0.742  | 0.081     | 0.392130 |
| wine_glass     | 820   | 3996   | 0.687  | 0.141     | 0.467318 |
| cup            | 2730  | 14335  | 0.690  | 0.131     | 0.401259 |
| knife          | 1180  | 11138  | 0.402  | 0.043     | 0.052995 |
| spoon          | 999   | 16973  | 0.416  | 0.025     | 0.049059 |
| bowl           | 1643  | 10953  | 0.733  | 0.110     | 0.374713 |
| banana         | 183   | 7767   | 0.634  | 0.015     | 0.101670 |
| apple          | 168   | 2932   | 0.429  | 0.025     | 0.085470 |
| orange         | 171   | 2765   | 0.702  | 0.043     | 0.123477 |
| broccoli       | 446   | 18614  | 0.749  | 0.018     | 0.117123 |
| carrot         | 727   | 20541  | 0.707  | 0.025     | 0.060945 |
| pizza          | 599   | 5304   | 0.755  | 0.085     | 0.421441 |
| donut          | 197   | 7644   | 0.594  | 0.015     | 0.143520 |
| cake           | 590   | 5982   | 0.629  | 0.062     | 0.243563 |
| chair          | 2788  | 70764  | 0.655  | 0.026     | 0.197088 |
| couch          | 340   | 2819   | 0.494  | 0.060     | 0.211933 |
| potted_plant   | 609   | 25395  | 0.800  | 0.019     | 0.261423 |
| bed            | 311   | 5294   | 0.707  | 0.042     | 0.216452 |
| dining_table   | 1849  | 99306  | 0.787  | 0.015     | 0.192627 |
| tv             | 934   | 10099  | 0.760  | 0.070     | 0.426263 |
| laptop         | 775   | 3485   | 0.796  | 0.177     | 0.631668 |
| remote         | 237   | 8653   | 0.608  | 0.017     | 0.129868 |
| keyboard       | 784   | 6538   | 0.778  | 0.093     | 0.297669 |
| cell_phone     | 448   | 7005   | 0.592  | 0.038     | 0.163251 |
| microwave      | 83    | 624    | 0.687  | 0.091     | 0.593158 |
| oven           | 144   | 6232   | 0.688  | 0.016     | 0.286438 |
| sink           | 856   | 33101  | 0.822  | 0.021     | 0.255440 |
| refrigerator   | 97    | 15373  | 0.732  | 0.005     | 0.300810 |
| book           | 2632  | 51639  | 0.697  | 0.036     | 0.083469 |
| clock          | 172   | 8461   | 0.680  | 0.014     | 0.196000 |
| vase           | 249   | 3609   | 0.546  | 0.038     | 0.185588 |
| scissors       | 52    | 2071   | 0.404  | 0.010     | 0.115084 |
| teddy_bear     | 130   | 2989   | 0.838  | 0.036     | 0.415706 |
| toothbrush     | 137   | 0      | 0.000  | 0.000     | 0.000000 |
+----------------+-------+--------+--------+-----------+----------+
| mean           |       |        | 0.627  |           | 0.238852 |
+----------------+-------+--------+--------+-----------+----------+
+---------------+------+------+--------+-----------+----------+
| class         | gts  | dets | recall | precision | ap       |
+---------------+------+------+--------+-----------+----------+
| airplane      | 1444 | 0    | 0.000  | 0.000     | 0.000000 |
| train         | 1602 | 0    | 0.000  | 0.000     | 0.000000 |
| parking_meter | 510  | 0    | 0.000  | 0.000     | 0.000000 |
| cat           | 1669 | 0    | 0.000  | 0.000     | 0.000000 |
| bear          | 462  | 0    | 0.000  | 0.000     | 0.000000 |
| suitcase      | 2219 | 0    | 0.000  | 0.000     | 0.000000 |
| frisbee       | 935  | 0    | 0.000  | 0.000     | 0.000000 |
| snowboard     | 793  | 0    | 0.000  | 0.000     | 0.000000 |
| fork          | 1775 | 0    | 0.000  | 0.000     | 0.000000 |
| sandwich      | 1457 | 0    | 0.000  | 0.000     | 0.000000 |
| hot_dog       | 1009 | 0    | 0.000  | 0.000     | 0.000000 |
| toilet        | 1462 | 0    | 0.000  | 0.000     | 0.000000 |
| mouse         | 850  | 0    | 0.000  | 0.000     | 0.000000 |
| toaster       | 78   | 0    | 0.000  | 0.000     | 0.000000 |
| hair_drier    | 74   | 0    | 0.000  | 0.000     | 0.000000 |
+---------------+------+------+--------+-----------+----------+
| mean          |      |      | 0.000  |           | 0.000000 |
+---------------+------+------+--------+-----------+----------+
+------+--+--+-------+--+----------+
| mean |  |  | 0.627 |  | 0.238852 |
+------+--+--+-------+--+----------+
| mean |  |  | 0.000 |  | 0.000000 |
+------+--+--+-------+--+----------+
mAP is : 0.19349995255470276
The detected bounding boxes of  "toothbrush" is zero, which looks not right. I think I might do something wrong.
Is the result the same as yours?

Hi,
I have provided the links to my log files for both ZSD and GZSD in my updated README.md. You can see my results there.

Thank you so much for replying me.
I looked up the logs. They are the results after full training.
The result I posted is the result of training with only seen data.
Still appreciate your respond, I'll keep finding out what cause the zero dets of toothbrush.

Hi,
In the command,
cd ./mmdetection
python tools/zero_shot_utils.py configs/faster_rcnn_r101_fpn_1x.py --classes seen --load_from ./work_dirs/coco2014/epoch_12.pth --save_dir ./data --data_split train
It only train on seen data. Also, following command can be used to generate test features from unseen data.
cd ./mmdetection
python tools/zero_shot_utils.py configs/faster_rcnn_r101_fpn_1x.py --classes unseen --load_from ./work_dirs/coco2014/epoch_12.pth --save_dir ./data --data_split test
Then,
python train_regressor.py
./script/train_coco_generator_65_15.sh
cd mmdetection
#evaluation on zsd
./tools/dist_test.sh configs/faster_rcnn_r101_fpn_1x.py ./work_dirs/coco2014/epoch_12.pth 1 --dataset coco --out /workspace/arijit_ug/sushil/zsd/checkpoints/ab_st_final/coco_65_15_wgan_modeSeek_seen_cycSeenUnseen_tripletSeenUnseen_varMargin_try6/coco_65_15_wgan_modeSeek_seen_cycSeenUnseen_tripletSeenUnseen_varMargin_try6_zsd_result.pkl --zsd --syn_weights /workspace/arijit_ug/sushil/zsd/checkpoints/ab_st_final/coco_65_15_wgan_modeSeek_seen_cycSeenUnseen_tripletSeenUnseen_varMargin_try6/classifier_best_latest.pth
However, it is also showing zero detections for unseen classes:
num_classes ----------- 80
+----------------+-------+-------+--------+-----------+----------+
| class          | gts   | dets  | recall | precision | ap       |
+----------------+-------+-------+--------+-----------+----------+
| person         | 15697 | 48206 | 0.682  | 0.222     | 0.568102 |
| bicycle        | 290   | 2940  | 0.421  | 0.041     | 0.263589 |
| car            | 2392  | 20437 | 0.493  | 0.058     | 0.191976 |
| motorcycle     | 118   | 1778  | 0.644  | 0.043     | 0.477236 |
| bus            | 208   | 4157  | 0.659  | 0.033     | 0.181382 |
| truck          | 779   | 6768  | 0.452  | 0.052     | 0.069188 |
| boat           | 211   | 8705  | 0.488  | 0.012     | 0.148573 |
| traffic_light  | 563   | 7972  | 0.520  | 0.037     | 0.198458 |
| fire_hydrant   | 52    | 1232  | 0.808  | 0.034     | 0.612569 |
| stop_sign      | 47    | 1952  | 0.766  | 0.018     | 0.487958 |
| bench          | 569   | 16707 | 0.337  | 0.011     | 0.032393 |
| bird           | 235   | 9234  | 0.489  | 0.012     | 0.127170 |
| dog            | 437   | 2948  | 0.753  | 0.112     | 0.160115 |
| horse          | 35    | 704   | 0.657  | 0.033     | 0.429912 |
| sheep          | 29    | 2945  | 0.276  | 0.003     | 0.057830 |
| cow            | 37    | 1507  | 0.514  | 0.013     | 0.117599 |
| elephant       | 6     | 1218  | 0.333  | 0.002     | 0.190476 |
| giraffe        | 7     | 729   | 0.714  | 0.007     | 0.469535 |
| backpack       | 955   | 5899  | 0.440  | 0.071     | 0.085580 |
| umbrella       | 320   | 5618  | 0.434  | 0.025     | 0.196311 |
| handbag        | 1112  | 8904  | 0.355  | 0.044     | 0.082109 |
| tie            | 160   | 2528  | 0.419  | 0.027     | 0.177361 |
| skis           | 468   | 5622  | 0.323  | 0.027     | 0.072071 |
| sports_ball    | 77    | 3166  | 0.545  | 0.013     | 0.066123 |
| kite           | 31    | 4648  | 0.742  | 0.005     | 0.352521 |
| baseball_bat   | 7     | 2391  | 0.571  | 0.002     | 0.335498 |
| baseball_glove | 3     | 1859  | 0.000  | 0.000     | 0.000000 |
| skateboard     | 24    | 3027  | 0.792  | 0.006     | 0.596807 |
| surfboard      | 14    | 5319  | 0.429  | 0.001     | 0.022254 |
| tennis_racket  | 11    | 1340  | 0.455  | 0.004     | 0.253247 |
| bottle         | 2375  | 11072 | 0.654  | 0.140     | 0.433279 |
| wine_glass     | 820   | 2722  | 0.617  | 0.186     | 0.484255 |
| cup            | 2730  | 12984 | 0.690  | 0.145     | 0.434292 |
| knife          | 1180  | 8234  | 0.294  | 0.042     | 0.056103 |
| spoon          | 999   | 7471  | 0.265  | 0.035     | 0.055141 |
| bowl           | 1643  | 10518 | 0.737  | 0.115     | 0.413740 |
| banana         | 183   | 3849  | 0.366  | 0.017     | 0.144224 |
| apple          | 168   | 2662  | 0.327  | 0.021     | 0.084894 |
| orange         | 171   | 1658  | 0.503  | 0.052     | 0.193907 |
| broccoli       | 446   | 3652  | 0.419  | 0.051     | 0.158352 |
| carrot         | 727   | 5285  | 0.377  | 0.052     | 0.071398 |
| pizza          | 599   | 3233  | 0.656  | 0.122     | 0.399578 |
| donut          | 197   | 4276  | 0.477  | 0.022     | 0.138795 |
| cake           | 590   | 4936  | 0.553  | 0.066     | 0.260197 |
| chair          | 2788  | 24060 | 0.462  | 0.054     | 0.196040 |
| couch          | 340   | 3552  | 0.482  | 0.046     | 0.252842 |
| potted_plant   | 609   | 8412  | 0.563  | 0.041     | 0.280969 |
| bed            | 311   | 3359  | 0.550  | 0.051     | 0.290843 |
| dining_table   | 1849  | 16013 | 0.569  | 0.066     | 0.364040 |
| tv             | 934   | 5834  | 0.716  | 0.115     | 0.501795 |
| laptop         | 775   | 2287  | 0.734  | 0.249     | 0.644588 |
| remote         | 237   | 5218  | 0.553  | 0.025     | 0.168034 |
| keyboard       | 784   | 1573  | 0.665  | 0.331     | 0.383184 |
| cell_phone     | 448   | 4792  | 0.562  | 0.053     | 0.189999 |
| microwave      | 83    | 1615  | 0.723  | 0.037     | 0.515616 |
| oven           | 144   | 4777  | 0.514  | 0.015     | 0.255888 |
| sink           | 856   | 8249  | 0.613  | 0.064     | 0.322244 |
| refrigerator   | 97    | 6749  | 0.608  | 0.009     | 0.233952 |
| book           | 2632  | 17148 | 0.371  | 0.057     | 0.077435 |
| clock          | 172   | 5416  | 0.657  | 0.021     | 0.337422 |
| vase           | 249   | 3392  | 0.538  | 0.040     | 0.194513 |
| scissors       | 52    | 1752  | 0.288  | 0.009     | 0.055709 |
| teddy_bear     | 130   | 1609  | 0.654  | 0.053     | 0.422264 |
| toothbrush     | 137   | 2312  | 0.255  | 0.015     | 0.039345 |
+----------------+-------+-------+--------+-----------+----------+
| mean           |       |       | 0.524  |           | 0.251232 |
+----------------+-------+-------+--------+-----------+----------+
+---------------+------+------+--------+-----------+----------+
| class         | gts  | dets | recall | precision | ap       |
+---------------+------+------+--------+-----------+----------+
| airplane      | 1444 | 436  | 0.015  | 0.048     | 0.001692 |
| train         | 1602 | 880  | 0.002  | 0.005     | 0.000014 |
| parking_meter | 510  | 2714 | 0.073  | 0.014     | 0.001345 |
| cat           | 1669 | 0    | 0.000  | 0.000     | 0.000000 |
| bear          | 462  | 152  | 0.030  | 0.092     | 0.006084 |
| suitcase      | 2219 | 219  | 0.005  | 0.046     | 0.000246 |
| frisbee       | 935  | 70   | 0.000  | 0.000     | 0.000000 |
| snowboard     | 793  | 326  | 0.001  | 0.003     | 0.000049 |
| fork          | 1775 | 0    | 0.000  | 0.000     | 0.000000 |
| sandwich      | 1457 | 319  | 0.007  | 0.031     | 0.000232 |
| hot_dog       | 1009 | 4315 | 0.071  | 0.017     | 0.001760 |
| toilet        | 1462 | 100  | 0.007  | 0.100     | 0.000998 |
| mouse         | 850  | 335  | 0.000  | 0.000     | 0.000000 |
| toaster       | 78   | 32   | 0.000  | 0.000     | 0.000000 |
| hair_drier    | 74   | 3459 | 0.014  | 0.000     | 0.000004 |
+---------------+------+------+--------+-----------+----------+
| mean          |      |      | 0.015  |           | 0.000828 |
+---------------+------+------+--------+-----------+----------+
+------+--+--+-------+--+----------+
| mean |  |  | 0.524 |  | 0.251232 |
+------+--+--+-------+--+----------+
| mean |  |  | 0.015 |  | 0.000828 |
+------+--+--+-------+--+----------+
mAP is : 0.20368660986423492
I will be grateful if you can suggest the better solution so that detections on unseen data can also be obtained. I followed all the steps given in https://github.com/sandipan211/ZSD-SC-Resolver for the training and evaluation.
Thank you for your time and consideration.

Hi,
I have provided the links to my log files for both ZSD and GZSD in my updated README.md. You can see my results there.

Thank you so much for replying me. I looked up the logs. They are the results after full training. The result I posted is the result of training with only seen data. Still appreciate your respond, I'll keep finding out what cause the zero dets of toothbrush.

Hi @chiran7 ,
I have provided our trained classifier weights that ultimately impact the unseen classes. You can find them in the README.md. Can you kindly evaluate with those weights? If the results are reproduced, that will mean the problem you are facing is probably in step 5. Also, can you please tell me your environment settings?

Hi @EfaJow ,
If you had tested after training with seen data only (I believe that is till step 3), the low results you are seeing for unseen classes is expected, as zero-shot capabilities aren't learned by training with seen data only. That step (epoch_12.pth) was only training the Faster-RCNN for detecting a seen object. Our novelty starts after step 3, where unseen detection capabilities are achieved. Once you run all 5 steps and then evaluate, I think your unseen mAP will improve.
If you have run all the steps in README and still achieving low unseen mAP, kindly refer to my response to @chiran7.
Hope this helps.

Hi @chiran7 ,
I have provided our trained classifier weights that ultimately impact the unseen classes. You can find them in the README.md. Can you kindly evaluate with those weights? If the results are reproduced, that will mean the problem you are facing is probably in step 5. Also, can you please tell me your environment settings?

Dear @sandipan211 ,
Thank you for the information. I have used the weight provided in README.md, and still it shows results for seen but zero for unseen. In step 4, it tran_regressor.py only trains on seen data, and step 5 uses weights of seen data to train GAN on unseen data. In terms of the environmental setting, I have not used distributed training for step 2 and trained only (without validation). I have installed mmdetection and mmcv packages without using anaconda environment in Linux environments to train the model.
Can you please explain in detail how to use unseen features learning by training on seen class in steps 4 and 5?
Thank you for your time and consideration.

README.md

Dear @sandipan211 ,
Thank you for your time. It worked now. I used the trained classifier weights instead of downloading from README.md. After training all 5 steps and using the trained weight, evaluation is showing good results on unseen classes for the MS COCO dataset as well.

Hi @sandipan211 ,
I followed all the steps and tune the hyper parameters due to the paper, however, the mAP score on unseen is only 7. I must did something wrong. Could you please help me to get the right score? I really appreciate your responds.
Here is the final result, and the script I runned.
+----------------+-------+--------+--------+-----------+----------+
| class          | gts   | dets   | recall | precision | ap       |
+----------------+-------+--------+--------+-----------+----------+
| person         | 15697 | 197511 | 0.895  | 0.071     | 0.660126 |
| bicycle        | 290   | 4315   | 0.628  | 0.042     | 0.294972 |
| car            | 2392  | 47730  | 0.788  | 0.039     | 0.192863 |
| motorcycle     | 118   | 1993   | 0.720  | 0.043     | 0.510872 |
| bus            | 208   | 7529   | 0.707  | 0.020     | 0.196596 |
| truck          | 779   | 11096  | 0.413  | 0.029     | 0.039762 |
| boat           | 211   | 17607  | 0.616  | 0.007     | 0.174057 |
| traffic_light  | 563   | 18147  | 0.650  | 0.020     | 0.173153 |
| fire_hydrant   | 52    | 932    | 0.827  | 0.046     | 0.546072 |
| stop_sign      | 47    | 1355   | 0.745  | 0.026     | 0.521156 |
| bench          | 569   | 37232  | 0.489  | 0.007     | 0.049017 |
| bird           | 235   | 31394  | 0.523  | 0.004     | 0.124825 |
| dog            | 437   | 8228   | 0.787  | 0.042     | 0.178870 |
| horse          | 35    | 615    | 0.629  | 0.036     | 0.453032 |
| sheep          | 29    | 8040   | 0.310  | 0.001     | 0.022340 |
| cow            | 37    | 1301   | 0.595  | 0.017     | 0.140441 |
| elephant       | 6     | 278    | 0.500  | 0.011     | 0.500000 |
| giraffe        | 7     | 376    | 0.857  | 0.016     | 0.563532 |
| backpack       | 955   | 8703   | 0.465  | 0.051     | 0.054644 |
| umbrella       | 320   | 6652   | 0.672  | 0.032     | 0.225764 |
| handbag        | 1112  | 13246  | 0.423  | 0.035     | 0.082643 |
| tie            | 160   | 7759   | 0.613  | 0.013     | 0.102578 |
| skis           | 468   | 20450  | 0.560  | 0.013     | 0.044583 |
| sports_ball    | 77    | 12764  | 0.545  | 0.003     | 0.035616 |
| kite           | 31    | 11229  | 0.742  | 0.002     | 0.248010 |
| baseball_bat   | 7     | 1671   | 0.857  | 0.004     | 0.139171 |
| baseball_glove | 3     | 1527   | 0.000  | 0.000     | 0.000000 |
| skateboard     | 24    | 2984   | 0.833  | 0.007     | 0.605755 |
| surfboard      | 14    | 8082   | 0.357  | 0.001     | 0.011808 |
| tennis_racket  | 11    | 1696   | 0.455  | 0.003     | 0.200000 |
| bottle         | 2375  | 21580  | 0.742  | 0.082     | 0.392164 |
| wine_glass     | 820   | 3955   | 0.685  | 0.142     | 0.467229 |
| cup            | 2730  | 14137  | 0.688  | 0.133     | 0.401042 |
| knife          | 1180  | 10947  | 0.397  | 0.043     | 0.052717 |
| spoon          | 999   | 16724  | 0.414  | 0.025     | 0.048997 |
| bowl           | 1643  | 10824  | 0.732  | 0.111     | 0.374777 |
| banana         | 183   | 7671   | 0.628  | 0.015     | 0.101547 |
| apple          | 168   | 2889   | 0.429  | 0.025     | 0.085480 |
| orange         | 171   | 2735   | 0.702  | 0.044     | 0.123484 |
| broccoli       | 446   | 18503  | 0.749  | 0.018     | 0.117124 |
| carrot         | 727   | 20421  | 0.707  | 0.025     | 0.060947 |
| pizza          | 599   | 5221   | 0.755  | 0.087     | 0.421445 |
| donut          | 197   | 7519   | 0.594  | 0.016     | 0.143523 |
| cake           | 590   | 5883   | 0.627  | 0.063     | 0.243434 |
| chair          | 2788  | 69915  | 0.655  | 0.026     | 0.197117 |
| couch          | 340   | 2774   | 0.494  | 0.061     | 0.210323 |
| potted_plant   | 609   | 25273  | 0.798  | 0.019     | 0.261391 |
| bed            | 311   | 5224   | 0.707  | 0.042     | 0.216464 |
| dining_table   | 1849  | 98057  | 0.786  | 0.015     | 0.192642 |
| tv             | 934   | 9977   | 0.760  | 0.071     | 0.426272 |
| laptop         | 775   | 3459   | 0.796  | 0.178     | 0.631535 |
| remote         | 237   | 8552   | 0.603  | 0.017     | 0.129786 |
| keyboard       | 784   | 6502   | 0.777  | 0.094     | 0.297538 |
| cell_phone     | 448   | 6936   | 0.592  | 0.038     | 0.163256 |
| microwave      | 83    | 620    | 0.687  | 0.092     | 0.593161 |
| oven           | 144   | 6156   | 0.688  | 0.016     | 0.286441 |
| sink           | 856   | 32820  | 0.821  | 0.021     | 0.255408 |
| refrigerator   | 97    | 15172  | 0.732  | 0.005     | 0.301248 |
| book           | 2632  | 51358  | 0.697  | 0.036     | 0.083455 |
| clock          | 172   | 8410   | 0.680  | 0.014     | 0.196000 |
| vase           | 249   | 3571   | 0.546  | 0.038     | 0.185590 |
| scissors       | 52    | 2044   | 0.404  | 0.010     | 0.115085 |
| teddy_bear     | 130   | 2963   | 0.838  | 0.037     | 0.415707 |
| toothbrush     | 137   | 2429   | 0.394  | 0.022     | 0.066894 |
+----------------+-------+--------+--------+-----------+----------+
| mean           |       |        | 0.633  |           | 0.239867 |
+----------------+-------+--------+--------+-----------+----------+
+---------------+------+------+--------+-----------+----------+
| class         | gts  | dets | recall | precision | ap       |
+---------------+------+------+--------+-----------+----------+
| airplane      | 1444 | 42   | 0.019  | 0.643     | 0.016029 |
| train         | 1602 | 550  | 0.233  | 0.680     | 0.194064 |
| parking_meter | 510  | 1    | 0.000  | 0.000     | 0.000000 |
| cat           | 1669 | 1473 | 0.533  | 0.604     | 0.390125 |
| bear          | 462  | 40   | 0.078  | 0.900     | 0.073715 |
| suitcase      | 2219 | 441  | 0.066  | 0.333     | 0.023340 |
| frisbee       | 935  | 25   | 0.002  | 0.080     | 0.000357 |
| snowboard     | 793  | 471  | 0.274  | 0.461     | 0.195434 |
| fork          | 1775 | 259  | 0.064  | 0.440     | 0.037449 |
| sandwich      | 1457 | 1793 | 0.365  | 0.297     | 0.138656 |
| hot_dog       | 1009 | 3    | 0.000  | 0.000     | 0.000000 |
| toilet        | 1462 | 512  | 0.116  | 0.332     | 0.040305 |
| mouse         | 850  | 105  | 0.015  | 0.124     | 0.002790 |
| toaster       | 78   | 97   | 0.026  | 0.021     | 0.002999 |
| hair_drier    | 74   | 8    | 0.000  | 0.000     | 0.000000 |
+---------------+------+------+--------+-----------+----------+
| mean          |      |      | 0.119  |           | 0.074351 |
+---------------+------+------+--------+-----------+----------+
+------+--+--+-------+--+----------+
| mean |  |  | 0.633 |  | 0.239867 |
+------+--+--+-------+--+----------+
| mean |  |  | 0.119 |  | 0.074351 |
+------+--+--+-------+--+----------+
mAP is : 0.20843979716300964
python trainer.py --manualSeed 806
--cls_weight 0.01 --cls_weight_unseen 0 --nclass_all 81 --syn_num 250 --val_every 1
--cuda --netG_name MLP_G --netD_name MLP_D
--nepoch 55 --nepoch_cls 15 --ngh 4096 --ndh 4096 --lambda1 10 --critic_iter 5
--dataset coco --batch_size 128 --nz 300 --attSize 300 --resSize 1024 --gan_epoch_budget 50000
--lr 0.0005 --lr_step 30 --lr_cls 0.0001
--pretrain_classifier mmdetection/work_dirs/epoch_12.pth
--class_embedding MSCOCO/fasttext.npy
--dataroot mmdetection/data/features/coco/65_15_epoch12
--testsplit test_0.7_0.3
--trainsplit train_0.7_0.3
--classes_split 65_15
--lz_ratio 0.01
--outname checkpoints/resolver_base
--regressor_lamda 0.01
--triplet_lamda 0.1
--pretrain_regressor MSCOCO/regressor_1.pth --tr_mu_dtilde 0.5 --tr_sigma_dtilde 0.5 \

I also tested the weight of classifier for coco provided in README.md, the unseen mAP is only 10. I really don't get it. Could you please help?
+----------------+-------+--------+--------+-----------+----------+
| class          | gts   | dets   | recall | precision | ap       |
+----------------+-------+--------+--------+-----------+----------+
| person         | 15697 | 197379 | 0.895  | 0.071     | 0.660127 |
| bicycle        | 290   | 4309   | 0.628  | 0.042     | 0.294972 |
| car            | 2392  | 47654  | 0.788  | 0.040     | 0.192863 |
| motorcycle     | 118   | 1994   | 0.720  | 0.043     | 0.510872 |
| bus            | 208   | 7502   | 0.707  | 0.020     | 0.196596 |
| truck          | 779   | 11081  | 0.413  | 0.029     | 0.039763 |
| boat           | 211   | 17589  | 0.616  | 0.007     | 0.173923 |
| traffic_light  | 563   | 18121  | 0.650  | 0.020     | 0.173154 |
| fire_hydrant   | 52    | 927    | 0.827  | 0.046     | 0.546091 |
| stop_sign      | 47    | 1353   | 0.745  | 0.026     | 0.521158 |
| bench          | 569   | 37164  | 0.487  | 0.007     | 0.049004 |
| bird           | 235   | 31332  | 0.523  | 0.004     | 0.124819 |
| dog            | 437   | 8222   | 0.787  | 0.042     | 0.178869 |
| horse          | 35    | 613    | 0.629  | 0.036     | 0.453032 |
| sheep          | 29    | 8039   | 0.310  | 0.001     | 0.022340 |
| cow            | 37    | 1299   | 0.595  | 0.017     | 0.140441 |
| elephant       | 6     | 278    | 0.500  | 0.011     | 0.500000 |
| giraffe        | 7     | 375    | 0.857  | 0.016     | 0.563532 |
| backpack       | 955   | 8708   | 0.465  | 0.051     | 0.054644 |
| umbrella       | 320   | 6648   | 0.672  | 0.032     | 0.225764 |
| handbag        | 1112  | 13226  | 0.423  | 0.036     | 0.082654 |
| tie            | 160   | 7756   | 0.613  | 0.013     | 0.102579 |
| skis           | 468   | 20447  | 0.560  | 0.013     | 0.044584 |
| sports_ball    | 77    | 12756  | 0.545  | 0.003     | 0.035616 |
| kite           | 31    | 11197  | 0.742  | 0.002     | 0.248010 |
| baseball_bat   | 7     | 1670   | 0.857  | 0.004     | 0.139171 |
| baseball_glove | 3     | 1525   | 0.000  | 0.000     | 0.000000 |
| skateboard     | 24    | 2983   | 0.833  | 0.007     | 0.605755 |
| surfboard      | 14    | 8069   | 0.357  | 0.001     | 0.011808 |
| tennis_racket  | 11    | 1696   | 0.455  | 0.003     | 0.200000 |
| bottle         | 2375  | 21571  | 0.742  | 0.082     | 0.392163 |
| wine_glass     | 820   | 3944   | 0.685  | 0.143     | 0.467232 |
| cup            | 2730  | 14122  | 0.688  | 0.133     | 0.401050 |
| knife          | 1180  | 10870  | 0.396  | 0.043     | 0.052664 |
| spoon          | 999   | 16653  | 0.412  | 0.025     | 0.048935 |
| bowl           | 1643  | 10803  | 0.732  | 0.111     | 0.374773 |
| banana         | 183   | 7676   | 0.628  | 0.015     | 0.101546 |
| apple          | 168   | 2880   | 0.423  | 0.025     | 0.085310 |
| orange         | 171   | 2735   | 0.702  | 0.044     | 0.123481 |
| broccoli       | 446   | 18510  | 0.749  | 0.018     | 0.117117 |
| carrot         | 727   | 20410  | 0.707  | 0.025     | 0.060948 |
| pizza          | 599   | 5207   | 0.755  | 0.087     | 0.421447 |
| donut          | 197   | 7523   | 0.594  | 0.016     | 0.143523 |
| cake           | 590   | 5875   | 0.625  | 0.063     | 0.243328 |
| chair          | 2788  | 69867  | 0.655  | 0.026     | 0.197104 |
| couch          | 340   | 2770   | 0.494  | 0.061     | 0.210324 |
| potted_plant   | 609   | 25250  | 0.798  | 0.019     | 0.261394 |
| bed            | 311   | 5219   | 0.707  | 0.042     | 0.216468 |
| dining_table   | 1849  | 97965  | 0.786  | 0.015     | 0.192640 |
| tv             | 934   | 9981   | 0.760  | 0.071     | 0.426271 |
| laptop         | 775   | 3455   | 0.796  | 0.179     | 0.631536 |
| remote         | 237   | 8544   | 0.608  | 0.017     | 0.129873 |
| keyboard       | 784   | 6498   | 0.777  | 0.094     | 0.297537 |
| cell_phone     | 448   | 6937   | 0.592  | 0.038     | 0.163256 |
| microwave      | 83    | 617    | 0.687  | 0.092     | 0.593165 |
| oven           | 144   | 6159   | 0.688  | 0.016     | 0.286442 |
| sink           | 856   | 32855  | 0.822  | 0.021     | 0.255445 |
| refrigerator   | 97    | 15191  | 0.732  | 0.005     | 0.300810 |
| book           | 2632  | 51343  | 0.697  | 0.036     | 0.083468 |
| clock          | 172   | 8407   | 0.680  | 0.014     | 0.196001 |
| vase           | 249   | 3570   | 0.546  | 0.038     | 0.185590 |
| scissors       | 52    | 2040   | 0.404  | 0.010     | 0.115085 |
| teddy_bear     | 130   | 2960   | 0.838  | 0.037     | 0.415708 |
| toothbrush     | 137   | 2427   | 0.394  | 0.022     | 0.066894 |
+----------------+-------+--------+--------+-----------+----------+
| mean           |       |        | 0.633  |           | 0.239854 |
+----------------+-------+--------+--------+-----------+----------+
+---------------+------+------+--------+-----------+----------+
| class         | gts  | dets | recall | precision | ap       |
+---------------+------+------+--------+-----------+----------+
| airplane      | 1444 | 189  | 0.089  | 0.677     | 0.068682 |
| train         | 1602 | 868  | 0.382  | 0.705     | 0.322311 |
| parking_meter | 510  | 21   | 0.002  | 0.048     | 0.000280 |
| cat           | 1669 | 1681 | 0.610  | 0.606     | 0.476787 |
| bear          | 462  | 161  | 0.284  | 0.814     | 0.244931 |
| suitcase      | 2219 | 432  | 0.070  | 0.361     | 0.029319 |
| frisbee       | 935  | 28   | 0.002  | 0.071     | 0.000481 |
| snowboard     | 793  | 482  | 0.247  | 0.407     | 0.171431 |
| fork          | 1775 | 1298 | 0.211  | 0.288     | 0.093899 |
| sandwich      | 1457 | 1281 | 0.281  | 0.320     | 0.108900 |
| hot_dog       | 1009 | 1    | 0.000  | 0.000     | 0.000000 |
| toilet        | 1462 | 121  | 0.035  | 0.421     | 0.018076 |
| mouse         | 850  | 52   | 0.001  | 0.019     | 0.000056 |
| toaster       | 78   | 119  | 0.026  | 0.017     | 0.003257 |
| hair_drier    | 74   | 6    | 0.000  | 0.000     | 0.000000 |
+---------------+------+------+--------+-----------+----------+
| mean          |      |      | 0.149  |           | 0.102561 |
+---------------+------+------+--------+-----------+----------+
+------+--+--+-------+--+----------+
| mean |  |  | 0.633 |  | 0.239854 |
+------+--+--+-------+--+----------+
| mean |  |  | 0.149 |  | 0.102561 |
+------+--+--+-------+--+----------+
mAP is : 0.2137858271598816

Hi

Hi @sandipan211,
Thank you for your response.
The learning rate I used is due to the implementation details part of your paper. I tried to use 0.00005 as lr, but the result mAP is 0.239862 and 0.091063.
+------+--+--+-------+--+----------+
| mean |  |  | 0.633 |  | 0.239862 |
+------+--+--+-------+--+----------+
| mean |  |  | 0.140 |  | 0.091063 |
+------+--+--+-------+--+----------+
I also tested the classifier weights required in the evaluation step given in the readme, but the mAP result is only 0.239854 and  0.102561, not as high as shown in your log. Could you provide any idea about this? I don't want to look annoying, but I'm at my wits' end with this problem. Thanks for your help.

Hi @sandipan211, Thank you for your response. The learning rate I used is due to the implementation details part of your paper. I also tried to use 0.00005 as lr, but the result mAP is 0.239862 and 0.091063. +------+--+--+-------+--+----------+ | mean | | | 0.633 | | 0.239862 | +------+--+--+-------+--+----------+ | mean | | | 0.140 | | 0.091063 | +------+--+--+-------+--+----------+
I also tested the classifier weights required in the evaluation step given in the readme in the step 6, but the mAP result is only 0.239854 and 0.102561, not as high as shown in your log. Could you provide any idea about this? I don't want to look annoying, but I'm at my wits' end with this problem. Thanks for your help.

It's okay, I can understand it is a complex framework and lots of things can go wrong. However, I fail to understand why this is happening. Others like @chiran7 also experienced something similar but were able to reproduce results with pretrained classifier weights as you can see here. I hope you have performed each and every step as written in readme.
Kindly tell me your environment details as well. You can refer to this issue on how I created my environment. Although it seems unlikely that performance is related to environment settings in this case, you might give it a try as well.

Hi @sandipan211, Thank you for your response. The learning rate I used is due to the implementation details part of your paper. I also tried to use 0.00005 as lr, but the result mAP is 0.239862 and 0.091063. +------+--+--+-------+--+----------+ | mean | | | 0.633 | | 0.239862 | +------+--+--+-------+--+----------+ | mean | | | 0.140 | | 0.091063 | +------+--+--+-------+--+----------+
I also tested the classifier weights required in the evaluation step given in the readme in the step 6, but the mAP result is only 0.239854 and 0.102561, not as high as shown in your log. Could you provide any idea about this? I don't want to look annoying, but I'm at my wits' end with this problem. Thanks for your help.

Moreover, it seems like you tested in the GZSD setting. Can you run in the ZSD setting once and tell me how much mAP you're able to obtain?

Hi @sandipan211, Thank you for your response. The learning rate I used is due to the implementation details part of your paper. I also tried to use 0.00005 as lr, but the result mAP is 0.239862 and 0.091063. +------+--+--+-------+--+----------+ | mean | | | 0.633 | | 0.239862 | +------+--+--+-------+--+----------+ | mean | | | 0.140 | | 0.091063 | +------+--+--+-------+--+----------+
I also tested the classifier weights required in the evaluation step given in the readme in the step 6, but the mAP result is only 0.239854 and 0.102561, not as high as shown in your log. Could you provide any idea about this? I don't want to look annoying, but I'm at my wits' end with this problem. Thanks for your help.

Moreover, it seems like you tested in the GZSD setting. Can you run in the ZSD setting once and tell me how much mAP you're able to obtain?

I tried just now, the result is right in ZSD! It's 0.200599.

Well, then it means you are doing something wrong in the evaluation step (last step) for GZSD. Check if the commands you run are okay.

Great to hear that it is working.
I am facing some issues in custom data. I converted the custom data in VOC
format and got high mAP(around 55.00) , but low mAP(around 15.00). I
generated semantics for custom classes as well. Is there any way to
increase mAP if unseen classes on custom data such that both seem and
unseen mAP may be closer ?
Thank you for your time and consideration.
On Thu, Aug 17, 2023 at 6:31 AM Sandipan Sarma @.***>
wrote:

Well, then it means you are doing something wrong in the evaluation step
(last step) for GZSD. Check if the commands you run are okay.
—
Reply to this email directly, view it on GitHub
https://github.com/sandipan211/ZSD-SC-Resolver/issues/10#issuecomment-1682125042,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGDADHCVOLOKV5VPZG3HUT3XVX6JXANCNFSM6AAAAAAXKOC2SY
.
You are receiving this because you were mentioned.Message ID:
@.***>

README.md

Dear @sandipan211 , Thank you for your time. It worked now. I used the trained classifier weights instead of downloading from README.md. After training all 5 steps and using the trained weight, the evaluation step is showing good results on unseen classes for the MS COCO dataset.

Hi @chiran7,
Did you adjust the code in test_mixins.py to get the right mAP result in GZSD on COCO?
Could you share how you get the right mAP in GZSD (which is 0.374 in seen and 0.201 in unseen on COCO)?

I got the right results!
@sandipan211, thank you so much!

Great to know that @EfaJow ! You've been on it for months, so glad to hear it worked out!

It's the code in test_mixins.py.
I changed 21 to 81 for coco, then it worked.

It's the code in test_mixins.py.
I changed 21 to 81 for coco, then it worked.

Hi @EfaJow , can you please share the path where the test_mixins.py is located? I will also try to change (if there is 21 that needs to be replaced) ?
Thank you for your time and consideration.

It's the code in test_mixins.py.
I changed 21 to 81 for coco, then it worked.

Hi @EfaJow , can you please share the path where the test_mixins.py is located? I couldnot see the test_mixins.py file inside mmdetection/mmdet.
I will also try to change (if there is 21 that needs to be replaced) ?
Thank you for your time and consideration.

Here it is!


added warning for attrs version

What does this PR do?
added a warning
Why was it initiated? Any relevant Issues?
#2071
PR Checklist

[x] Correct base branch selected? Should be develop branch.
[x] Enabled commit hook or executed ./bin/autoformat-nuitka-source.
[ ] All tests still pass. Check the Developer Manual about Running the Tests.
There are GitHub Actions tests that cover the most important
things however, and you are welcome to rely on those, but they might not
cover enough.
[ ] Ideally new features or fixed regressions ought to be covered via new tests.
[ ] Ideally new or changed features have documentation updates.

Thanks for creating this one


[#6] Shared Auth component

Resolves #6

Is there a reason this isn't merged yet? I would like to try it in ontoGrapher :)


Reserve Point for a Domain?

Defining const Point{N,T} = SVector{N,T} prevents the useful definition
struct Point{N,T} <: Domain{T}
  x::T
end

Makes sense for Point to be a domain, yes. The only goal of Point before was to abstract away the choice between SVector and other implementations of fixed size vectors. But we settle on SVector right now.


[FEAT] UPDATE USER PROFILE

Description

This PR implements the functionality to update user profiles, addressing authentication issues during the profile update process.

Acceptance Criteria
Update User Profile Endpoint:
Endpoint: The endpoint /api/v1/profile/ should be accessible via a PATCH request.
Request Body: The request body should include the fields to be updated, such as:

pronouns
job title
department
social links
bio
phone number
avatar URL
recovery email

Successful Update:

When a valid token and user ID are provided, the endpoint returns a 200 OK status with a success message and the updated profile details.

User Not Authenticated:

If the token is invalid or missing, the endpoint returns a 401 Unauthorized status with an appropriate error message.

User Not Found:

If the user ID does not exist, the endpoint returns a 404 Not Found status with an appropriate error message.

Server Error:
If an unexpected server error occurs, the endpoint returns a 500 Internal Server Error status with an appropriate error message.

Types of Changes
Bug fix: Non-breaking change which fixes an issue.
New feature: Non-breaking change which adds functionality.
Breaking change: Fix or feature that would cause existing functionality to change.

Checklist:

[ ]  My code follows the code style of this project.
[ ]   My change requires a change to the documentation.
[ ]   I have updated the documentation accordingly.
[ ]   I have read the CONTRIBUTING document.
[ ]   I have added tests to cover my changes.
[ ]   All new and existing tests passed.

Endpoints and Responses Update User Profile Endpoint Endpoint URL:
bash
PATCH /api/v1/profile/ Request Body:
json

{
  "pronouns": "Updated pronouns",
  "job_title": "Updated job title",
  "department": "Updated department",
  "social": "Updated social",
  "bio": "Updated bio",
  "phone_number": "+1234567890",
  "avatar_url": "updated_avatar_url",
  "recovery_email"<EMAIL_ADDRESS>}

Responses:
Success Response:
Code: 200 OK Content:
json

{
  "message": "Profile updated successfully",
  "status_code": 200,
  "data": {
    "id": "user-id",
    "pronouns": "Updated pronouns",
    "job_title": "Updated job title",
    "department": "Updated department",
    "social": "Updated social",
    "bio": "Updated bio",
    "phone_number": "+1234567890",
    "avatar_url": "updated_avatar_url",
    "recovery_email"<EMAIL_ADDRESS>    "updated_at": "DateTime"
  }

} Error Responses:
Code: 401 Unauthorized Content:
json

{
  "status_code": 401,
  "message": "User not authenticated"
}

Code: 404 Not Found Content:
json

{
  "status_code": 404,
  "message": "User not found"
}

Code: 500 Internal Server Error Content:
json

{
  "status_code": 500,
  "message": "An unexpected error occurred"
}

Purpose: The Update User Profile endpoint allows authenticated users to update their profile information. This ensures the profile update process is functioning correctly.
Requirements: Implement the Update User Profile endpoint to allow users to update their profile information. Handle authentication and authorization issues. Ensure proper input validation for the fields to be updated. Write unit tests and integration tests to cover the new functionality. Implement error handling for invalid inputs, non-existing users, and server errors. Ensure logging for error cases and successful updates. Expected Outcome: An endpoint that allows users to update their profile information, ensuring authentication, proper input validation, and robust error handling.
Tasks:

Define Update User Profile Endpoint:
Create an endpoint /api/v1/profile/ to update user profiles.
Implement Logic:
Implement server-side logic to handle successful and failed profile update requests.
Input Validation:
Ensure input validation to verify the correctness of the fields to be updated.
Database Query:
Write the necessary database queries to update user profiles.
Error Handling:
Implement error handling for invalid inputs, non-existing users, and server errors.
Logging:
Implement logging for errors and successful profile updates.

Testing:

Write unit tests for the profile update functionality.
Write integration tests for the profile update logic.

Security:

Perform security testing to ensure data protection and compliance.
Ensure all sensitive data is encrypted and secure.

Slack id: Harry
This issue is linked to an already approved issue link


move to rust-lang-nursery and rename?

@alexcrichton mentioned a bit ago that we might want to move this repo to the nursery. Seems like a good idea to me!

In #20, @gnzlbg asks if we should rename the crate.
In my own head, I've always kind of imagined that this crate would add two new top-level modules to core named simd and vendor. The simd module would contain the vector types and the various platform independent APIs while the vendor module would contain all of the vendor intrinsic functions, with an API that matches the vendor API as closely as possible.
In light of the heavy focus on simd, and because it would be re-exported through the standard library, I haphazardly called this crate stdsimd. The most accurate name might be something like core::{simd, vendor}, but that's a mouthful.
I honestly don't think there's anything terribly wrong with the current name. Maybe corevendor would be better, but that kind of ignores the obvious focus on SIMD.

If the objective is to make this be part of core:: then the actual name does not really matter much right?

@gnzlbg Well I think this crate will continue to live in its own repo (like libc), so we need something for rust-lang-nursery/{the_name}.

I'm fine w/ stdsimd as the name, I wouldn't feel any pressing need to rename it.

Moved!

This raised some questions already of the form "isn't this crate only about simd?". If we plan to expose all the intrinsics in core::vendor maybe we should just rename the crate to stdvendor or corevendor as @BurntSushi suggested to make it more discoverable.

Maybe corevendor would be better, but that kind of ignores the obvious focus on SIMD.

IIUC only the simd vector types will be in the simd module while all of the simd-intrinsics will be in the vendor module. So I also worry about corevendor ignoring the focus on SIMD.

I still like the name stdsimd. If someone were to describe what we were doing in this repo, I think the obvious explanation is "we're trying to make SIMD work on stable Rust" and that pretty much captures it.


stuck on empty screen please help

when i first boot it got to this not even showing options

I just testest booting with the latest EFI folder from USB flash drive. Works fine.

yea i dont know why this is happening to me

Try disabling UEFI/Output/GopBurstMode and see if it changes anything

@UsetUset2244 Also you should try to select the usb/ssd to boot first in BIOS and not use the F11 menu

Also: Make sure to check your USB Setings in BIOS (CONFIG Tab):

USB UEFI BIOS Support: Enabled
USB 3.0 Mode: Enabled

it boots up now thanks


[5002] : At least one valid recipient is required

Hi,
I've got a problem, when i try to send an email with the following parameters I've got an 5002 error.
Array
        (
            [from] =><EMAIL_ADDRESS>            [substitution_data] => Array
                (
                    [0] => Array
                        (
                            [name] => CONTACT
                            [content] => Contact
                        )
                    [1] => Array
                        (
                            [name] => SERVICE_NAME
                            [content] => Service
                        )
                    [2] => Array
                        (
                            [name] => URL_LOGO
                            [content] => http://example.com/images/Logo.png
                        )
                    [3] => Array
                        (
                            [name] => REFERENT_COORDINATES
                            [content] => Referent
                        )
                    [4] => Array
                        (
                            [name] => SERVICE_ADDRESS
                            [content] => not defined
                        )
                    [5] => Array
                        (
                            [name] => URL_GUIDE
                            [content] => http://www.example.com/
                        )
                    [6] => Array
                        (
                            [name] => URL_PASSWORD
                            [content] => http://www.example.com
                        )
                )
            [recipients] => Array
                (
                    [0] => Array
                        (
                            [address] => Array
                                (
                                    [name] => Jane Doe
                                    [email] =><EMAIL_ADDRESS>                                )
                            [substitution_data] => Array
                                (
                                )
                            [tags] => Array
                                (
                                    [0] => Inscription
                                    [1] => Service
                                )
                        )
                )
            [template] => service-inscription
        )

I think I've done like the documentation said.
If anyone has a clue.
Thanks

I don't believe you can supply an empty substitution_data at the recipient level.  You can just remove it.  This works: [recipients] => Array         (             [0] => Array                 (                     [address] => Array                         (                             [email] =><EMAIL_ADDRESS>                       )                     [tags] => Array                         (                             [0] => Inscription                             [1] => Service                         )                 )         )

Thank you works perfectly. Maybe you can specify this in the documentation (or it's already in it and I didn't saw it).
Anyway thank you.

Just ran into this myself, I would say it's a bug - why should it fail on empty array? It works if I set it to null instead (or omit it entirely), but it's annoying to have to check whether my array is empty or not before adding each recipient.


hideUploadButton not hiding buttong when set to true

Screenshots
     const styleOptions = {         hideUploadButton: true,         bubbleBackground: "white",         bubbleBorderStyle: "solid",         bubbleBorderRadius: "10px",         bubbleFromUserBackground: "#5ce9ff",         bubbleFromUserBorderRadius: "10px",         groupTimeStamp: 3000,         emojiSet: true,         timestampFormat: 'relative',         timestampColor: "red",         };

Version

To determine what version of Web Chat you are running, open your browser's development tools, and paste the following line of code into the console.
[].map.call(document.head.querySelectorAll('meta[name^="botframework-"]'), function (meta) { return meta.outerHTML; }).join('\n')
If you are using Web Chat outside of a browser, please specify your hosting environment. For example, React Native on iOS, Cordova on Android, SharePoint, PowerApps, etc.

Describe the bug

Steps to reproduce

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

Tried to implement the hideUploadButton through the git repo's tutorial but it seems like the upload button is still showing despite me setting the option to true in my styleOption.
Additional context

[Bug]

Hi @DennyWithAnE, our hide upload button sample appears to be working. It looks like this is an implementation issue.
Link: https://github.com/microsoft/BotFramework-WebChat/tree/master/samples/02.branding-styling-and-customization/f.hide-upload-button
@stevkan could you or another support engineer help out? Thanks.

Thanks for the clarification on the issue!


apps: silent warning when loading CSR files with vfyopt option

When verifying or signing a CSR file with the -vfyopt option, a warning message similar to the following will appear:
Warning: CSR self-signature does not match the contents
This happens especially when the SM2 algorithm is used and the distid parameter is added. Pass the vfyopts parameter to the do_X509_REQ_verify() function to eliminate the warning message.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Would it be possible to add a test?

Would it be possible to add a test?

Hi @t8m , I manually typed in the command to do the test. When make test, it need to add the V=1 parameter to display this warning. The output is as follows:
../../util/wrap.pl ../../apps/openssl req -config ../../test/test.cnf -new -key ../../test/certs/sm2.key -sigopt 'distid:1234567812345678' -out testreq-sm2.pem -sm3 => 0
    ok 1 - Generating SM2 certificate request
Warning: CSR self-signature does not match the contents
Certificate request self-signature verify OK

I need some help, I don't know how to add tests to detect this warning in make test.

This pull request is ready to merge

Merged to master branch. Thank you for your contribution.
Unfortunately this fix does not apply to 3.1 and 3.0 branches cleanly. Could you please submit a backported fix against the 3.1 branch if you're interested in having this fixed on 3.1 and 3.0 branches?

Merged to master branch. Thank you for your contribution.
Unfortunately this fix does not apply to 3.1 and 3.0 branches cleanly. Could you please submit a backported fix against the 3.1 branch if you're interested in having this fixed on 3.1 and 3.0 branches?

In branches 3.0 and 3.1, only the cmp subcommand calls the load_csr_autofmt() function, which does not yet support the vfyopts feature, so this patch cannot and is not necessary to be backported to the 3.0 and 3.1 branches.


Player potential?

Hi,
by far I like your scraper the most because it is quite easy to use; however, I am missing the potential value in the output. Is there any way to add it?
Thanks in advance

Hello @AirRic
Yes, you can by taking the value of pt, which is already available as you can see from PLAYERS_BASE_URL.
Since the Potential is before the 8th column, you must take it manually by defining a remapping here.
Feel free to add this field and to open a pull request when ready 👍🏼


Create a package so that we can install using pip

Would be really good to create a package out of it and we can easily install via pip.
Thanks.

I restructured and adapted the source, so it will build as Python package on  PyPI.
As of Release 2.0.1, you can install via
pip install pyvideothumbnailer

Nice @hhtznr! Thanks a lot


Allow a separate column width setting

Allow the user to set a column width setting that is different than the editor's global column width setting. This would probably involve a preference pane specific to the plugin.
Inspired by comments on the plugin listing: https://plugins.jetbrains.com/plugin/7234?pr=

Release 1.0 will wrap to the language-specific right margin setting.


Fix baselevel not allowing you to quickload certain units

Namely the octopus, seahorse, and sad fish.

honestly I have no idea what causes this. You might have to drag units onto the resource from the file manager instead of using quickload.


Adding links for contribution to "Thank you" page

Adding links for contribution

@gdams when I click on the link to the "First Timers Support" doc in the "Thank you" page I see the documentation for a second and then the page becomes blank.

@hendrikebbers seems to work for me?

now it is working for me, too


Req for info: testing with jest

Hi, I'm trying to start a simple test using jest and TestUtils, but I'm clearly doing it wrong as I'm dropping into an infinite loop (test fails with max call stack exceeded):
var Morearty = require('morearty');
var React = require('react/addons');
var TopHeader = require('../js/components.js');
var TestUtils = React.addons.TestUtils;

  var Ctx = Morearty.createContext({
    initialState: {
      headerText: 'Off'
    }
  });

describe('TopHeader', function() {
  it('should appear on load', function() {

    var bootstrap = Ctx.bootstrap(TopHeader) //TopHeader is a react component with mixins: [Morearty.Mixin]

    var header = TestUtils.renderIntoDocument(
      React.createElement(bootstrap)
    );

    // Verify that it's Off by default
    var label = TestUtils.findRenderedDOMComponentWithTag(
      header, 'h1');
    expect(label.getDOMNode().textContent).toEqual('Off');

  });
});

The TopHeader component for completeness:
var React = window.React = require('react/addons');
var Morearty = require('morearty');
var el = React.createElement

var TopHeader = React.createClass({
  displayName: 'TopHeader',
  mixins: [Morearty.Mixin],
  render: function(){
    var binding = this.getDefaultBinding();
    var text = binding.sub("headerText")
    return el("h1",{},text)
  }
})

module.exports = TopHeader

I'm assuming the approach is wrong - any advice gratefully received.  If it looks like the right approach I'll do some more digging in to the problem.
Cheers,
Dean

I've been wondering how others have been testing with Morearty as well. fwiw, here is my working approach
Ideally, I'd like my test to be as simple as...
    var binding = mockBinding('hello');

    instance = TestUtils.renderIntoDocument(
      <HelloWorld binding={binding} />
    );

It can be achieved with the following function:
// Creates a Morearty Binding from a string, number, boolean, or object
module.exports.mockBinding = function(v) {
  var t = typeof v;
  if (t === 'string' || t === 'number' || t === 'boolean') {
    return  Morearty.createContext({ initialState: { v } }).getBinding().sub('v');
  } else {
    return Morearty.createContext({ initialState: v }).getBinding();
  }
};

It works for simple use cases, unfortunately for complex usage it fails because no bootstrap means no morearty context. This can be solved with:
module.exports.mockBinding = function(v) {
  var t = typeof v;
  if (t === 'string' || t === 'number' || t === 'boolean') {
    ctx = Morearty.createContext({ initialState: { v } });
    return ctx.getBinding().sub('v');
  } else {
    ctx = Morearty.createContext({ initialState: v });
    return ctx.getBinding();
  }
};

module.exports.mockRender = function (instanceFn) {
  return React.withContext({morearty: ctx}, function () {
    return TestUtils.renderIntoDocument(instanceFn());
  });
};

and now the test becomes:
    var binding = mockBinding('hello');

    instance = mockRender(() =>
      <HelloWorld binding={binding} />
    );

BTW, I tried jest and gave it up because it was too slow. Using jasmine with karma along with rewire-webpack. Morearty really could use some documentation related to unit testing...

Cheers, I'll give that a go.

All works well, thanks.  Jest is fast for me - I only have a couple of components at the moment but it's 2s from save to test results using watch.  Or maybe you have a 100ms feedback loop?

Oh, and the infinite loop was me passing a binding instead of a value into the component:
    var text = binding.sub("headerText") //Should be .get not .sub
    return el("h1",{},text)

Startup time doesn't concern me too much. I just leave Jasmine running. Currently I have 70 tests, just ran them all in 0.287s (most of the tests are for components using Morearty). There's a long-open issue about Jest slowness, if you solve it I'm sure many would benefit.

@gilbox where is the best place to include mockBinding and mockRender so that all jest tests will have them? Thanks!

I just create a separate file like test-utils.js and include it from each test.
var testUtils = require('../test-utils.js');

// now use testUtils.mockRender and testUtils.mockBinding...

works! thanks!


When kwargs are used, option values cannot have "="

I know this is painful to fix, but I call it a bug anyway because it is very unexpected: users would think it easy to know that "--opt", requiring one option, will take the "abc=" below.
$ cat test_plac.py
#!/usr/bin/env python
def func(opt: ('opt', 'option', 'o') = 'foo', **kw: ('kw',)):
    print(opt, kw)
import plac
plac.call(func)
$ python test_plac.py --opt abc=
usage: test_plac.py [-h] [-o foo] [kw [kw ...]]
test_plac.py: error: argument -o/--opt: expected one argument

Fixed in master, https://github.com/micheles/plac/commit/f3e28a6868004d3a424c6bd14d3327f216733bdf


Performance: When running at 20k msg/s, progress is being made only briefly

Bug description
In the workload where we generate 20k mgs/s, progress is being made only briefly, at the beginning of the test. After that, the test report shows no change in record count.
Steps to reproduce

Run the workload here: https://github.com/ConduitIO/streaming-benchmarks/blob/haris/ec2-helpers/workloads/small-messages-20k-msg-per-sec.sh

Version
{   "version": "v0.3.0-nightly.20220811",   "os": "linux",   "arch": "amd64" }
PS: The test report cannot be attached for some reason. I'll try to add it later.

I've discovered that a pipeline like this cannot be stopped using the pipelines stop endpoint; the endpoint was simply hanging. This made it possible to get some hints about the issue through debugging (logging at this rate didn't help much because it slowed down the pipeline significantly).
While debugging, I tried to read a message from the connector, which worked, i.e. the connector/plugin itself was not deadlocked, which implied a problem in Conduit and/or the destination.
Debugging the stop endpoint revealed that the stop message could not be sent to a source node's internal message channel. The channel is unbuffered, meaning there's nothing on the receiving end of it, which is unexpected, as the source's Read() method should be continuously reading from the channel.
After looking at info from pprof, it looks like there's a deadlock between Source.Read() and Source.Ack(), particularly the part in Ack() which calls the persister.


Support examples section

This PR is to support the examples section.
In progress...
Issue https://github.com/pawamoy/pytkdocs/issues/8 and PR https://github.com/pawamoy/pytkdocs/pull/35

You must use an {% include directive as well, like for other types of sections, as it will allow users to override only the examples.html template, and not the whole docstring.html one.
In your other PR I also explain that we should parse interactive-like Python code blocks. Here the examples.html template would iterate on the list of paragraphs (markdown paragraphs and code blocks), and:

render markdown paragaph with the convert_markdown filter
render code blocks with the highlight(language="python") filter

This is working as expected with https://github.com/pawamoy/pytkdocs/pull/35.
I know that maybe it would be better to create a examples.html template, but I don't have knowledges about Django, neither time to get on with it.
Maybe we should add an issue with 'improvement' tag about this, but for now sadly I can't spend more time on this feature.

Django

Jinja2! :grin:
Of course, thank you very much for the time you spent on working on this feature. I'll take it from here (though I don't have much time these days either :sweat_smile:).
Could you confirm the "allow maintainers to edit this PR" box is checked? Thanks!

Django

Jinja2! 😁
Of course, thank you very much for the time you spent on working on this feature. I'll take it from here (though I don't have much time these days either 😅).
Could you confirm the "allow maintainers to edit this PR" box is checked? Thanks!

Yes! It is checked. Sorry for the late response.

Thanks again @igonro, I'll release this soon :slightly_smiling_face:


Destroy spectrum on jQuery $destroy event instead of $scope.$destroy event

Resolves #30

Coverage remained the same at 100.0% when pulling f2fd16964e7c2f37a2959e4c372fe72eb60663c5 on Kodegenix:master into 22014354f006e68dfc0b56233fccfe329521f4ce on Jimdo:master.

Thanks @tomaszkrym - would you be able to rebase the PR so that it does not contain a changed dist file and add a test that shows the shortcomings of the old approach?

Coverage remained the same at 100.0% when pulling 34991f028a540ef8558ea750f189c3e816373fa5 on Kodegenix:master into 22014354f006e68dfc0b56233fccfe329521f4ce on Jimdo:master.

@joscha the dist file is not in .gitignore, so this is why I commited it. Furthermore, if anybody had a bower dependency to branch master, it would have installed dist files that were out of sync with src files.
It is hardly possible to show the shortcomings of the old approach (blinking input during destroy) in the unit test - the visiblity is updated asynchronously.


Link spotify playlist to "convert" module

Currently the convert module is not accessible with a playlist opened with foo_spotify :
"
Source: "spotify:track:...."
Unable to open source file: Access denied
Conversion failed: Access denied
"
any idea to make it possible ?
thanks
Laurent

See the answer here: https://hydrogenaud.io/index.php?topic=119972.msg988788#msg988788

ok, thanks for the answer, i understand the choice


Getting the annotations without validating

Hi!
Would it be possible to somehow add a way to get the annotations without validating? We have several annotations in our schemas like help_text, description, errorMessage...
For the first two we would like to create a help screen for the users to easily see the options for the schemas, but that needs to happen without actually validating anything
For errorMessage we would like it to overwrite the current error message (that on it's own is no problem), but no annotations are returned when the validation isn't succesful.
Maybe something like:
validator = new ValidatorFactory()
annotations = validator.getAnnotations(schemaString)

Do you see this as a possibility?
Thanks!
-Nicolas

Yeah, I believe there will be a couple of ways to achieve this. One would be creating your own Dialect implementation which has validation vocabulary turned off - probably there also would be need to provide a modified version of a meta-schema. Can't elaborate on it more RN, I could provide more details later today.

Thank you, that would be awesome!

Thanks @harrel56! This explanation is very clear. I'll let you know how it went once got around to implementing it :)

I've managed to find the errorMessages using the JSON pointer method you told me in #124. I've also tried this and it works perfectly, so thank you for your explanation!


[ADAM-610] Fix FASTQ input format split picking.

Resolves #610. This is a fairly extensive rewrite of the FASTQ input format code. I started debugging said bug, and found a lot of cruft and repeated code in the FASTQ input formats. I don't love the new code, but I think it is substantially cleaner and has the plus side of working. I'm going to revalidate it on the ERR000096 FASTQs tomorrow; I had a cluster up, but alas they were spot nodes and disappeared into the EC2 mist.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/624/
Test PASSed.

Closing in favor of #679.


Long URLs cause lag when moving 3D view

With a long URL (e.g. many annotations), Neuroglancer often becomes quite laggy when dragging the 3D view around. This is due to setUrlHash() being called repeatedly while dragging, when it should actually only happen once when the mouse is released. It seems that this behavior is triggered by clicking and dragging again immediately after releasing the previous drag.

I believe the problem traces back to https://github.com/seung-lab/neuroglancer/blob/master/src/neuroglancer/ui/url_hash_binding.ts#L63
In particular, long URLs can cause setUrlHash() to take 100ms or more. Normally debounce prevents it from getting called multiple times in a row, but in this case I think the debounced setUrlHash function takes so much time that the debounce is able to again shortly afterwards, causing it to trigger repeatedly.
It looks like increasing updateDelayMilliseconds would fix this. It should probably be proportional to the length of the URL (since there's no need to wait 2 seconds for a short, near-instant URL). I'll try to figure out a good formula for this.

Further investigation results: it's not as simple as increasing updateDelayMilliseconds. When the debounce function is created as part of the default view, it does not have access to the full state, so it doesn't know how long the URL will be. debounce does not let you change the wait time after you create it. I feel like there must be some sort of bug in debounce with slow functions, since it really shouldn't be getting called this frequently, but I haven't been able to pin it down. Tabling this for now since moving annotations into the state and out of the URL would make this a non-issue.

This performance bug scales with annotation size quite fast. In addition, URL has a max size and max readable size. A simple fix can be to only save at discrete points: onBlur, onBeforeUnload (reload/quit), every 5 minutes or so and push to state server on save with a fallback to url in the state for now.

Should be mitigated by #401

Just tested, that does indeed seem to fix it.


[KDE Plasma] Add 5.25

Dates used taken from: https://community.kde.org/Schedules/Plasma_5#Future_releases

@Evernow could you also add latestReleaseDate for each cycle [if it wont be hard for you ] within this PR ?

Thank you

https://kde.org/announcements/plasma/5/5.25.1/
On Tue, Jun 21, 2022, 04:34 Evernow @.***> wrote:

@Evernow https://github.com/Evernow could you also add
latestReleaseDate for each cycle [if it wont be hard for you ] within this
PR ? other then that LGTM
Done with e0589d6
https://github.com/endoflife-date/endoflife.date/commit/e0589d6554a7160fb63d900b9d99c29443414aab
—
Reply to this email directly, view it on GitHub
https://github.com/endoflife-date/endoflife.date/pull/1338#issuecomment-1161057306,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA3R4U5F5DFBDNUR227WBLVQELYRANCNFSM5ZJ5K6MA
.
You are receiving this because you commented.Message ID:
@.***>


Add un mark task feature

Add UnMarkTaskCommand and UnMarkTaskCommandParser and their test counterparts
Includes above average coverage of tests
Usage

unmark <index>

Codecov Report

Merging #89 (556fd3d) into master (bf8891a) will decrease coverage by 0.69%.
The diff coverage is 54.09%.

@@             Coverage Diff              @@
##             master      #89      +/-   ##
============================================
- Coverage     69.92%   69.23%   -0.70%
- Complexity      447      456       +9
============================================
  Files            79       81       +2
  Lines          1483     1544      +61
  Branches        150      160      +10
============================================
+ Hits           1037     1069      +32
- Misses          400      423      +23
- Partials         46       52       +6

Impacted Files
Coverage Δ

.../seedu/address/logic/parser/AddressBookParser.java
89.47% <0.00%> (-10.53%)
:arrow_down:

...du/address/logic/parser/MarkTaskCommandParser.java
100.00% <ø> (ø)

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...ain/java/seedu/address/storage/StorageManager.java
96.42% <ø> (ø)

...eedu/address/logic/commands/UnMarkTaskCommand.java
48.07% <48.07%> (ø)

.../address/logic/parser/UnMarkTaskCommandParser.java
100.00% <100.00%> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


refactor: remove env variables for alloydb

https://github.com/bucketeer-io/bucketeer/pull/65#discussion_r1016287458

@ono-max, please fix the conflicts so we can merge this.


Add dedicated documentation about working with multiple environments

It's about the following and similar questions:

How to work with different environments (dev, staging, prod) with Prisma and .env files?

Existing resources:

https://www.graph.cool/forum/t/1-0-different-environments-different-graphcool-yml-files/2105/2?u=nilan
https://www.prismagraphql.com/docs/reference/cli-command-reference/database-service/prisma-deploy-kee1iedaov

We should add

[ ] a dedicated section in the documentation
[ ] an example here.

If this is still up for grabs I'd have to problem with working on this tomorrow.


ImageDataGenerator workflow

Hi all,
I think the current way ImageDataGenerator works does not lend itself to building easy workflows with image data. Particularly, the rescale and centering parameters - I don't think these should live in the generator.
Imagine that I have labelled training data so I build a simple generator:
train_datagen = ImageDataGenerator(
    rescale = 1/255,
    samplewise_center=True,
    horizontal_flip=True,
    vertical_flip=True,
)

## Train model
## ...
model.fit_generator(
    train_datagen.flow(X_train, y_train, batch_size=25), ... # etc...
)

Once I've trained this model I want to be able to run it on test data. Obviously for test data you don't want to apply transformations, so I am essentially using this generator as a pre-processor:
test_datagen = ImageDataGenerator(
    rescale = 1/255,
    samplewise_center=True,
)

If I then want to treat this as a pre-processor because I can hold all my images in memory, I end up writing code like:
z_X, z_Y = next(test_datagen.flow(X_test, y_test, batch_size=X_test.shape[0]))

### Get predictions and do something with them
model.predict(z_X)

This feels awkard, but okay. But if I'm working on a problem where I want to make predictions without having the labels, I have to come up with a more convoluted method
z_X, _ = next(test_datagen.flow(X_unknown, np.zeros(len(X_unknown)), batch_size=X_unknown.shape[0]))

And, worse, because this generator is randomized, z_X is not in the same order as X_unknown so I cannot link this back to the original information about what image the data came from. I can solve this with shuffle=False but at this point it feels like misuse.
Does anyone have better ways of handling this? If not, I would propose that we take the strict pre-processing out of ImageDataGenerator and put it in something like an ImageDataPreprocessor instance.  This would preserve order and make all these operations feel much more natural when working in-memory.
I haven't used this for out-of-memory work but I would guess they have the same issue with a random test generator causing them to lose context to names of images.
I'm fine to work on a PR for this if people think it's valuable.

@oeway  did a lot of work on this module, as explained in #3338
however his fork is now outdated, and has some bugs (like dictionaries as default parameters).
Maybe you can use it to make a more up to date ImageDataGenerator.


Switch bibtex type from misc to software?

There is now support in biblatex for a software item type https://www.softwareheritage.org/2020/05/26/citing-software-with-style/, and this type works well in Zotero. Having a more accurate type would highlight that we're dealing with software, but I don't know the impact this would have in other reference managers.

I discussed this with @npch a few weeks ago and he pointed out that this could potentially have some very negative consequences. Specifically I think the concern was that the most common BibTeX packages (I don't recall which sorry) would skip any entries that they don't recognise (e.g., @software) which would mean these items wouldn't be cited, therefore undermining the whole point.
Hopefully @npch will notice this GitHub ping and provide a little more information here on his thinking but I think it's currently unclear to me whether this would be good change right now.

We could have this as a configurable option as it could be useful for some users. @misc could remain the default with @software available with a switch.
Are @misc and @software otherwise interchangeable - at least to the extent we use them here?

Some kind of flag sounds reasonable.

Are @misc and @software otherwise interchangeable - at least to the extent we use them here?

I think @software has some additional software-specific fields but I'm not an expert on this: https://hal.archives-ouvertes.fr/hal-02977711/document

There’s a big difference between BibTeX and BibLaTeX - the two should be considered as distinct.
Some implementations of BibLaTeX support @software, BibTeX doesn’t at all and isn’t ever likely to, as I understand it.
Maybe the switch is between whether you’re outputting to BibTeX or BiBLaTeX?
--
Neil Chue Hong
Director, Software Sustainability Institute
*** Note new address ***
Room 2.43, EPCC, University of Edinburgh, The Bayes Centre, 47 Potterrow, Edinburgh, EH8 9BT, UK
Tel: +44 (0)131 650 5957
http://www.software.ac.uk/
LinkedIn: http://uk.linkedin.com/in/neilchuehong
Twitter: http://twitter.com/npch
ORCID: http://orcid.org/0000-0002-8876-7606

From: Arfon Smith @.>
Sent: Sunday, July 18, 2021 5:04:03 PM
To: citation-file-format/ruby-cff @.>
Cc: NEIL CHUE HONG SSI Director @.>; Mention @.>
Subject: Re: [citation-file-format/ruby-cff] Switch bibtex type from misc to software? (#40)
This email was sent to you by someone outside the University.
You should only click on links or attachments if you are certain that the email is genuine and the content is safe.
Some kind of flag sounds reasonable.
Are @misc and @software otherwise interchangeable - at least to the extent we use them here?
I think @software has some additional software-specific fields but I'm not an expert on this: https://hal.archives-ouvertes.fr/hal-02977711/document
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/citation-file-format/ruby-cff/issues/40#issuecomment-882079443, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AALP6T3AYS3Z7ZUNUMGJEZ3TYL3PHANCNFSM5AKG5GRQ.
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheann carthannais a th’ ann an Oilthigh Dhùn Èideann, clàraichte an Alba, àireamh clàraidh SC005336.

Thanks @arfon and @npch.
I think my conclusion is that if we're going to support this then it would be through a separate formatter specifically targeting BibLaTeX, and leaving the BibTeX formatter well alone.
Also, the set of @software, @softwareversion, @softwaremodule and @codefragment are complex enough we probably don't want to delay version 1.0 for this (do we?) even if it would be great to have them in there eventually.

Agree that having two separate formatters would be the best option here.

Thanks all. I'm going to close this and note the outcome in a new issue: #48

Noticing only now this thread, and it is pretty sad to see @misc used to describe software projects instead of the more appropriate entries now available, mentioned by @tmorrel. I would like the issue to be reopened and the discussion continued.
It appears that the rationale for this decision is the fear to see the @software, @softwareversion, @softwaremodule or @codefragment entries ignored or skipped in the articles that use BibTeX bibliographies.
Now, my experience as an old time user of BibTeX (and even developer of BibTeX styles) is that all BibTeX styles handle unknown entry types exactly as @misc : this is because BibTeX was conceived from the very beginning as an extensible format (before XML :-)). You can see this by yourself looking at the special instruction that is placed in the .bst files to this end
FUNCTION {default.type} { misc }
Hence, for old BibTeX styles, using @software or @softwareversion produces exactly the same (lame) output as using @misc, while a BibLaTeX user that includes the biblatex-software style extension will benefit from the advanced software citation features.
This is a strong argument to avoid @misc and go for @software or @softwareversion in the GitHub export (depending on whether you want to cite a project, or a specific version).
An example of what an existing journals does can be seen here: http://www.ipol.im/pub/art/2020/300/
If you click on the SWHID info box for the source code, you will get
@softwareversion{sw-ipol.2020.300,     title   = {{Local Contrast Enhancement based on Adaptive Logarithmic Mappings}},     author  = {Jose-Luis Lisani},     date    = {2018-01-01},     license = {AGPL-3.0-or-later},     version = {2.0},     swhid   = {swh:1:dir:03d81d9e8d583aa52bfe5a696c875a406571684c;origin=https://doi.org/10.5201/ipol.2020.300;visit=swh:1:snp:e3c3904624230050561a3c5a615b3852fda6a22c;anchor=swh:1:rev:2bda715d58c19bfc04bac7028a5c67780f177cd3},     related = {ipol.2020.300},     relatedtype = "Reference article: https://doi.org/10.5201/ipol.2020.300" } % the biblatex-software style extension is recommended for software bibitems

There’s a big difference between BibTeX and BibLaTeX - the two should be considered as distinct. Some implementations of BibLaTeX support @software, BibTeX doesn’t at all and isn’t ever likely to, as I understand it. Maybe the switch is between whether you’re outputting to BibTeX or BiBLaTeX?
…

Hi Neil, as a very long time user and former BibTeX style developer, I can shed some light here.
The BibTeX format was designed as an extensible format, and to the best of my knowledge, all BibTex styles handle unknown entries exactly like @misc (look for the instruction FUNCTION {default.type} {misc}). I just checked the 152 styles that come with the standard TeXLive distribution I use, as well as various popular conference and journal styles, and they all behave this way (the only exception are a few special purpose styles that are not used for articles).
This means that using @software, @softwareversion or @codefragment instead of @misc makes absolutely no difference for BibTeX users, while it makes a world of difference for BibLaTeX users, and allows to signal that software is on par with other artifacts, instead of downgrading it to miscellanea.
If you see any other reason to continue using @misc instead of the appropriate entry types among @software, @softwareversion or @codefragment, it would be helpful to share it.

The main reason was that existing guidance out in the wild around BibTeX e.g. https://www.bibtex.com/e/entry-types/ and guidance from libraries was to use @misc. But this is something that we do need to get changed as part of the wider software citation work.
If the rendering of unknown types defaults to @misc (I did not know that this was the case - thanks for pointing me to the relevant instruction) in all common TeX distributions then I would be happy to endorse the generation of @software instead. I had been under the impression talking to others that this was dependent on the tool processing the BibTeX file.

I've done some testing of @software and @softwareversion in Overleaf (3.14159265-2.6-1.40.21 (TeX Live 2020); BibTeX unknown) and on my local machine (pdfTeX 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian); BibTeX 0.99d (TeX Live 2019/Debian)). I tested apacite, chicago and IEEEtran styles.
It seems like @software does work as expected.
In the IEEEtran style the crossref isn't followed from @softwareversion back to @software so the author details are missing.
I suppose, given that at present we are only looking at switching out @misc for @software, we'd be OK but I'd like @arfon, @sdruskat and @jspaaks (and others) thoughts before doing this. Having a separate BibLaTeX formatter is also still an option if it could be fit into the GitHub interface.

I suppose, given that at present we are only looking at switching out @misc for @software, we'd be OK but I'd like @arfon, @sdruskat and @jspaaks (and others) thoughts before doing this. Having a separate BibLaTeX formatter is also still an option if it could be fit into the GitHub interface.

Thanks for testing this @hainesr – based on @rdicosmo's input and your testing too, I'd support moving to @software as the default output here.
I'd rather not have a separate formatter for BibTeX and BibLaTeX at this stage, and would rather keep the UI free for additional potential outputs.

Dear Robert,
thanks for experimenting with all this.
Would you mind sharing the test example that shows the crossref issue in
IEEEtran? I'd be interested in looking at it (you can send me this
directly).
--
Roberto
P.S.: the decomposition in @software and @softwareversion using the
crossref field is not mandatory: one can very well produce
a @softwareversion entry with every field included. The idea of using the
crossref field is to enable compact citations when several versions of the
same software are cited, and to avoid duplications in a bibtex file: these
are nice to have features, but one can live without them :-)
--
Roberto
On Sun, 26 Sept 2021 at 13:55, Robert Haines @.***>
wrote:

I've done some testing of @software and @softwareversion in Overleaf (3.14159265-2.6-1.40.21
(TeX Live 2020); BibTeX unknown) and on my local machine (pdfTeX
3.14159265-2.6-1.40.20 (TeX Live 2019/Debian); BibTeX 0.99d (TeX Live
2019/Debian)). I tested apacite, chicago and IEEEtran styles.
It seems like @software does work as expected.
In the IEEEtran style the crossref isn't followed from @softwareversion
back to @software so the author details are missing.
I suppose, given that at present we are only looking at switching out
@misc for @software, we'd be OK but I'd like @arfon
https://github.com/arfon, @sdruskat https://github.com/sdruskat and
@jspaaks https://github.com/jspaaks (and others) thoughts before doing
this. Having a separate BibLaTeX formatter is also still an option if it
could be fit into the GitHub interface.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/citation-file-format/ruby-cff/issues/40#issuecomment-927292782,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFH5PZDW36R4XYSYU527YTUD4C3RANCNFSM5AKG5GRQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I have merged these changes to main.
@rdicosmo, I have emailed you an invite to the Overleaf project.


MapProperty: adding entry from an empty provider should not make the map "unset"

When calling put on a MapProperty with a Provider that evaluates to missing, the whole MapProperty will evaluate to missing.
Expected Behavior
The MapProperty should include all the entries and skip the entry that has no value.
Current Behavior
The whole MapProperty will have no value.
Context
Trying to launch an external process using the worker API and ExecOperations, where several optional environment variables are collected from properties, and the environment is passed to a WorkParameters instance in a MapProperty. If any of the optional properties is not set, the whole map becomes unset.
Steps to Reproduce
Example build.gradle.kts:
val map = objects.mapProperty<String, String>()
map.put("key1", "value1")
map.put("key2", provider { null })
println(map.orNull)

Expected output:
{key1=value1}

Actual output:
null

The problem seems to be in DefaultMapProperty.PlusCollector:
https://github.com/gradle/gradle/blob/dec0179942960245ce9ce728bccf765b1c51080a/subprojects/model-core/src/main/java/org/gradle/api/internal/provider/DefaultMapProperty.java#L535-L541
If right evaluates to missing, then that "missing" result is returned, even if entries were already added to dest.

I agree this is an important usability issue of the MapProperty. At the very least, Gradle should mention which entry had no value. Sometimes there can be multiple entries coming from a wide variety of sources. A single message there was no value is confusing. Despite that, I believe the no value entry should just be skipped as it doesn't make sense to have "one bad apple" to dictate the no value of the provider.
The workaround is to use putAll but that adds a lot of boilerplate code and is tricky to get the right implicit task dependencies.

Still relevant, please reopen

Still relevant in 7.4.2, please reopen

I just ran into this too - very confusing!

ugh.  Confusing indeed - those contracts are broken.  This was good for an hour or so of troubleshooting.

Reproduced in 8.0.2 with this reproducer
abstract class PrintTask : DefaultTask() {

    @get:Input
    abstract val map: MapProperty<String, String>

    @TaskAction
    fun print() {
        logger.info("map value {}", map.get())
    }
}

tasks.register("print", PrintTask::class) {
    map.put("FOO", providers.provider { "foo" })

    // this unexpectedly clears all previously set and future values of all keys
    map.put("BAR", providers.provider { null })

    map.put("BAZ", providers.provider { "baz" })
}


Blizzard issue ticket timer missing?

This was posted over at WoWInterface.

when I submit a ticket to Blizz where is the icon that tells me how long till its answered? if I remember correctly the icon used to show up somewhere around the picomenu button but it doesn't anymore... I don't know if it was actually this version of nmainbar that did it or a fix in the comments years ago but could that be fixed? Having to disable it just to see how long is left gets annoying :/

Fixed in https://github.com/renstrom/NeavUI/pull/178/commits/d260e40c888c0f7c33351ff014493d86e310440e


deadlock error in windows system

https://pastebin.com/4MSDeFFS
Please can you advise.
go version go1.21.0 windows/amd64

Should be fixed in the latest commits since tview as been removed.


What is your training configuration?

Thanks for your code !
I have a few questions:

In order to achieve the same results like yours, how many GPUs do you need and also what kind of GPU did you use ?
What is your batch_size ?

GPU : one V100 GPU
batch_size : one
See main.py
Only epoch has changed from default value according to dataset.

Thanks for your answer !
I am curious because, in the SPADE paper, they claim that they train their model with 8 GPU of V100 and their batch size is 32. May be they are training with much larger input since your input is 256,256. But why you only use batch size of 1 in your case. Why not set it higher like 4 or 8 ? I assume that it will produce much better results, dont you think ?

Yes ! If you set it up and train, then the results will be better.
But the reason I set batch_size to 1 is I just wanted to see the result quickly,
so I did batch size 1.
Nevertheless, I think the result is pretty good, so I just shared it.

Thanks for your comment !


Can't rename Input Object

Related to the prior issue, trying to rename my input type using name, but I'm not sure if codegen recognizes it, or not sure what I'm doing wrong.
Error:
template: render_args.tmpl:10:26: executing "render_args.tmpl" at <useImport $import.Import>: error calling useImport: tried to use import CreateObjectInput at path src/graphql/generated/mutations/create_object_type.ts even though it was never reserved

Setup
@gqlInputObjectType({
  name: "CustomNameInput",
})
export class CustomNameInput { ... }

export class CreateObjectResolver {
  @gqlMutation({
    class: "CreateObjectResolver",
    name: "createObject",
    type: CreateObjectPayload,
    async: true,
    args: [
      gqlContextType(),
      {
        name: "input",
        type: "CustomNameInput",  // Works fine if I use/name with CreateObjectInput
      },
    ],
  })
  async createCart(
    context: RequestContext,
    input: CustomNameInput,
  ): Promise<CreateObjectPayload> {
    return new CreateObjectPayload();
  }
}

presumably ->
export class CustomNameInput { ... }

should be
export class CreateObjectInput { ... }

?

i think at the time i was trying to rename the input from CreateObjectInput -> CustomNameInput, but is CreateObjectInput not intended to change? if so we can just close this as its not a blocker, just something i thought behaved differently than i expected

The rename is supposed to be supported and partly works but the
implementation is incomplete.
On Fri, Mar 1, 2024 at 18:21 Ashley Xue @.***> wrote:

i think at the time i was trying to rename the input from
CreateObjectInput -> CustomNameInput, but is CreateObjectInput not intended
to change? if so we can just close this as its not a blocker, just
something i thought behaved differently than i expected
—
Reply to this email directly, view it on GitHub
https://github.com/lolopinto/ent/issues/1755#issuecomment-1974203007,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACS2VN4EWDUPIG4QLHKUMSTYWEZR3AVCNFSM6AAAAABDM6EVUSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZUGIYDGMBQG4
.
You are receiving this because you commented.Message ID:
@.***>