There's lots of details on how to train SDXL loras, but details on how the big SDXL finetunes were trained is scarce to say the least. I recently released a big SDXL finetune. 1.5M images, 30M training samples, 5 days on an 8xH100. So, I'm sharing
all the training details here to help the community.
Finetuning SDXL
bigASP was trained on about 1,440,000 photos, all with resolutions larger than their respective aspect ratio bucket. Each image is about 1MB on disk, making the dataset about 1TB per million images.
Every image goes through: a quality model to rate it from 0 to 9;
JoyTag to tag it;
OWLv2 with the prompt "a watermark" to detect watermarks in the images. I found OWLv2 to perform better than even a finetuned vision model, and it has the added benefit of providing bounding boxes for the watermarks. Accuracy is about 92%. While it wasn't done for this version, it's possible in the future that the bounding boxes could be used to do "loss masking" during training, which basically hides the watermarks from SD. For now, if a watermark is detect, a "watermark" tag is included in the training prompt.
Images with a score of 0 are dropped entirely. I did a lot of work specifically training the scoring model to put certain images down in this score bracket. You'd be surprised at how much junk comes through in datasets, and even a hint of them can really throw off training. Thumbnails, video preview images, ads, etc.
bigASP uses the same aspect ratios buckets that SDXL's paper defines. All images are bucketed into the bucket they best fit in while not being smaller than any dimension of that bucket when scaled down. So after scaling, images get randomly cropped. The original resolution and crop data is recorded alongside the VAE encoded image on disk for conditioning SDXL, and finally the latent is gzipped. I found gzip to provide a nice 30% space savings. This reduces the training dataset down to about 100GB per million images.
Training was done using a custom training script based off the diffusers library. I used a custom training script so that I could fully understand all the inner mechanics and implement any tweaks I wanted. Plus I had my training scripts from SD1.5 training, so it wasn't a huge leap. The downside is that a lot of time had to be spent debugging subtle issues that cropped up after several bugged runs. Those are all expensive mistakes. But, for me, mistakes are the cost of learning.
I think the training prompts are really important to the performance of the final model in actual usage. The custom Dataset class is responsible for doing a lot of heavy lifting when it comes to generating the training prompts. People prompt with everything from short prompts to long prompts, to prompts with all kinds of commas, underscores, typos, etc.
I pulled a large sample of AI images that included prompts to analyze the statistics of typical user prompts. The distribution of prompt length followed a mostly normal distribution, with a mean of 32 tags and a std of 19.8. So my Dataset class reflects this. For every training sample, it picks a random integer in this distribution to determine how many tags it should use for this training sample. It shuffles the tags on the image and then truncates them to that number.
This means that during training the model sees everything from just "1girl" to a huge 224 token prompt. And thus, hopefully, learns to fill in the details for the user.
Certain tags, like watermark, are given priority and always included if present, so the model learns those tags strongly. This also has the side effect of conditioning the model to
not generate watermarks unless asked during inference.
The tag alias list from danbooru is used to randomly mutate tags to synonyms so that bigASP understands all the different ways people might refer to a concept. Hopefully.
And, of course, the score tags. Just like Pony XL, bigASP encodes the score of a training sample as a range of tags of the form "score_X" and "score_X_up". However, to avoid the issues Pony XL ran into (shoulders of giants), only a random number of score tags are included in the training prompt. It includes between 1 and 3 randomly selected score tags that are applicable to the image. That way the model doesn't require "score_8, score_7, score_6, score_5..." in the prompt to work correctly. It's already used to just a single, or a couple score tags being present.
10% of the time the prompt is dropped completely, being set to an empty string. UCG, you know the deal. N.B.!!! I noticed in Stability's training scripts, and even HuggingFace's scripts, that instead of setting the prompt to an empty string, they set it to "zero" in the embedded space. This is different from how SD1.5 was trained. And it's different from how most of the SD front-ends do inference on SD. My theory is that it can actually be a big problem if SDXL is trained with "zero" dropping instead of empty prompt dropping. That means that during inference, if you use an empty prompt, you're telling the model to move away not from the "average image", but away from only images that happened to have no caption during training. That doesn't sound right. So for bigASP I opt to train with empty prompt dropping.
Additionally, Stability's training scripts include dropping of SDXL's other conditionings: original_size, crop, and target_size. I didn't see this behavior present in kohyaa's scripts, so I didn't use it. I'm not entirely sure what benefit it would provide.
I made sure that during training, the model gets a variety of batched prompt lengths. What I mean is, the prompts themselves for each training sample are certainly different lengths, but they all have to be padded to the longest example in a batch. So it's important to ensure that the model still sees a variety of lengths even after batching, otherwise it might overfit to a specific range of prompt lengths. A quick Python Notebook to scan the training batches helped to verify a good distribution: 25% of batches were 225 tokens, 66% were 150, and 9% were 75 tokens. Though in future runs I might try to balance this more.
The rest of the training process is fairly standard. I found min-snr loss to work best in my experiments. Pure fp16 training did not work for me, so I had to resort to mixed precision with the model in fp32. Since the latents are already encoded, the VAE doesn't need to be loaded, saving precious memory. For generating sample images during training, I use a separate machine which grabs the saved checkpoints and generates the sample images. Again, that saves memory and compute on the training machine.
The final run uses an effective batch size of 2048, no EMA, no offset noise, PyTorch's AMP with just float16 (not bfloat16), 1e-4 learning rate, AdamW, min-snr loss, 0.1 weight decay, cosine annealing with linear warmup for 100,000 training samples, 10% UCG rate, text encoder 1 training is enabled, text encoded 2 is kept frozen, min_snr_gamma=5, PyTorch GradScaler with an initial scaling of 65k, 0.9 beta1, 0.999 beta2, 1e-8 eps. Everything is initialized from SDXL 1.0.
A validation dataset of 2048 images is used. Validation is performed every 50,000 samples to ensure that the model is not overfitting and to help guide hyperparameter selection. To help compare runs with different loss functions, validation is always performed with the basic loss function, even if training is using e.g. min-snr. And a checkpoint is saved every 500,000 samples. I find that it's really only helpful to look at sample images every million steps, so that process is run on every other checkpoint.
A stable training loss is also logged (I use Wandb to monitor my runs). Stable training loss is calculated at the same time as validation loss (one after the other). It's basically like a validation pass, except instead of using the validation dataset, it uses the first 2048 images from the training dataset, and uses a fixed seed. This provides a, well, stable training loss. SD's training loss is incredibly noisy, so this metric provides a much better gauge of how training loss is progressing.
The batch size I use is quite large compared to the few values I've seen online for finetuning runs. But it's informed by my experience with training other models. Large batch size wins in the long run, but is worse in the short run, so its efficacy can be challenging to measure on small scale benchmarks. Hopefully it was a win here. Full runs on SDXL are far too expensive for much experimentation here. But one immediate benefit of a large batch size is that iteration speed is faster, since optimization and gradient sync happens less frequently.
Training was done on an 8xH100 sxm5 machine rented in the cloud. On this machine, iteration speed is about 70 images/s. That means the whole run took about 5 solid days of computing. A staggering number for a hobbyist like me. Please send hugs. I hurt.
Training being done in the cloud was a big motivator for the use of precomputed latents. Takes me about an hour to get the data over to the machine to begin training. Theoretically the code could be set up to start training immediately, as the training data is streamed in for the first pass. It takes even the 8xH100 four hours to work through a million images, so data can be streamed faster than it's training. That way the machine isn't sitting idle burning money.
One disadvantage of precomputed latents is, of course, the lack of regularization from varying the latents between epochs. The model still sees a very large variety of prompts between epochs, but it won't see different crops of images or variations in VAE sampling. In future runs what I might do is have my local GPUs re-encoding the latents constantly and streaming those updated latents to the cloud machine. That way the latents change every few epochs. I didn't detect any overfitting on this run, so it might not be a big deal either way.
Finally, the loss curve. I noticed a rather large variance in the validation loss between different datasets, so it'll be hard for others to compare, but for what it's worth:
https://i.imgur.com/74VQYLS.png Learnings and the Future
I had a lot of failed runs before this release, as mentioned earlier. Mostly bugs in the training script, like having the height and width swapped for the original_size, etc conditionings. Little details like that are not well documented, unfortunately. And a few runs to calibrate hyperparameters: trying different loss functions, optimizers, etc. Animagine's hyperparameters were the most well documented that I could find, so they were my starting point. Shout out to that team!
I didn't find any overfitting on this run, despite it being over 20 epochs of the data. That said, 30M training samples, as large as it is to me, pales in comparison to Pony XL which, as far as I understand, did roughly the same number of epochs just with 6M! images. So at least 6x the amount of training I poured into bigASP. Based on my testing of bigASP so far, it has nailed down prompt following and understands most of the tags I've thrown at it. But the undertraining is apparent in its inconsistency with overall image structure and having difficulty with more niche tags that occur less than 10k times in the training data. I would definitely expect those things to improve with more training.
Initially for encoding the latents I did "mixed-VAE" encoding. Basically, I load in several different VAEs: SDXL at fp32, SDXL at fp16, SDXL at bf16, and the fp16-fix VAE. Then each image is encoded with a random VAE from this list. The idea is to help make the UNet robust to any VAE version the end user might be using.
During training I noticed the model generating a lot of weird, high resolution patterns. It's hard to say the root cause. Could be moire patterns in the training data, since the dataset's resolution is so high. But I did use Lanczos interpolation so that should have been minimized. It could be inaccuracies in the latents, so I swapped over to just SDXL fp32 part way through training. Hard to say if that helped at all, or if any of that mattered. At this point I suspect that SDXL's VAE just isn't good enough for this task, where the majority of training images contain extreme amounts of detail. bigASP is very good at generating detailed, up close skin texture, but high frequency patterns like sheer nylon cause, I assume, the VAE to go crazy. More investigation is needed here. Or, god forbid, more training...
Of course, descriptive captions would be a nice addition in the future. That's likely to be one of my next big upgrades for future versions. JoyTag does a great job at tagging the images, so my goal is to do a lot of manual captioning to train a new LLaVa style model where the image embeddings come from both CLIP and JoyTag. The combo should help provide the LLM with both the broad generic understanding of CLIP and the detailed, uncensored tag based knowledge of JoyTag. Fingers crossed.
Finally, I want to mention the quality/aesthetic scoring model I used. I trained my own from scratch by manually rating images in a head-to-head fashion. Then I trained a model that takes as input the CLIP-B embeddings of two images and predicts the winner, based on this manual rating data. From that I could run ELO on a larger dataset to build a ranked dataset, and finally train a model that takes a single CLIP-B embedding and outputs a logit prediction across the 10 ranks.
This worked surprisingly well, given that I only rated a little over two thousand images. Definitely better for my task than the older aesthetic model that Stability uses. Blurry/etc images tended toward lower ranks, and higher quality photoshoot type photos tended towards the top.
That said, I think a lot more work could be done here. One big issue I want to avoid is having the quality model bias the Unet towards generating a specific "style" of image, like many of the big image gen models currently do. We all know that DALL-E look. So the goal of a good quality model is to ensure that it doesn't rank images based on a particular look/feel/style, but on a less biased metric of just "quality". Certainly a difficult and nebulous concept. To that end, I think my quality model could benefit from more rating data where images with very different content and styles are compared.
Conclusion
I hope all of these details help others who might go down this painful path.
Could you get a VA rating for macrophallus? If so… would it be considered 10% or 30% disability. I can’t be the only vet with this problem. Would you still recommend a nexus letter or would a wife / spouse use form 21-4138 buddy letter? Also… would they still do a range of motion in the C and p exam?
I’m helping my uncle with his N-565 (e-file) application and have two questions before we submit. I’m hoping someone can clarify these for us.
Question 1: The form asks for US government-issued IDs. Is it okay to upload his recently expired driver’s license? He can’t get a new one right now because he’s lost his naturalization certificate. We’ve also uploaded his US army VA military ID.
Question 2: The form asks “Which US Citizenship and Immigration Service office or court issued your certificate declaration?” All we have is a four-digit number that USCIS provided us years ago. Should we just put that number?
I really don’t want this to get rejected. I’ve heard stories about applications getting denied for small mistakes.
I've been in the process of a supplementary claim for an adjustment for my migraine's percentage for about 3 months now, but I have been attempting to show proof by filing claims for as long as about year now. I originally got a zero percent service connected but my migraines occur once a week (or twice a week if I'm really unlucky). In my opinion and research my condition should have at least gotten me a 30%. with a few appointments and complaining I've finally obtained two forms of medicine from the VA that help me mitigate my migraines to only once or twice a month which has also caused me to lose a big chunk of weight over 2 months. for those who have obtained a percentage for their migraines, what did it take for you to get the percentage that you got? is the proof that I have and the medicine that I'm taking enough get me a percentage?
Side note: I'm also at a 90% overall, so I'd imagine its pretty difficult to go from 90% to 100%. #VA #Migraines #percentages #90%
Hello! I’m just going to jump right in. I just turned 21 in May and have been working since I was 16. I went to university for Biology with the hopes to go to vet school but dropped out in the middle of my first semester. I tried community college for a veterinary technician license but also dropped out less than a semester in. I struggle with ADHD, depression, and anxiety which make it extremely difficult to not only sit in a classroom but also take in and retain information. School just is not realistic for me. Up until June of last year, I have worked directly with animals at a boarding facility, doggy daycare, and animal hospital. I have absolutely adored every minute of it regardless of the mental toll and difficulty of the jobs. Last June I made the financial decision to work a standard 9-5. It was significantly more pay, stable employment, and regular schedule which I felt I needed for my mental health. I’m very big on routines. I was promoted in February and now work for the same moving company over on the government side. I work for the DOD overseeing/coordinating moves for military members. Due to the secrecy and need for government clearances for some of the positions, I’m locked away in a windowless room for 9-10 hours a day with no time for a lunch break. This is very discouraging since 1. I don’t see the sun and 2. I promised myself that I would NEVER put myself in a position where I sit at a desk all day typing my life away and 3. I just get yelled at by Tier One, JPPSO, and TSPs all day every day. I miss working with animals so much so I recently applied to be an animal protection police officer. I passed my polygraph but failed my physical abilities test due to knee and back issues proving it probably isn’t the best career choice physically. This felt like my last straw and I am just so burnt out and discouraged. I feel like I’m at the end of my rope. I make $50,000 a year pre-tax and live in northern VA. I can’t afford to move out. I work 50 hours a week but only get paid for 40 due to being salaried (I also commute an hour to and from work every day). I can’t go back to the hospital or most animal care jobs without taking a massive pay cut and all the other higher paying ones require some degree. I’m not sure what to do next but I refuse to give up and stay at a 9-5 doing something that I may be good at but does not satisfy me in any way shape or form. My boyfriend is a firefighter and I can’t lie and say it doesn’t make me a little sad seeing him do something he’s so passionate about, making a comfortable amount of money, and being able to be up and about throughout the day (not disregarding the fact that his job is extremely difficult, physically and mentally tolling, etc.). I just feel like I’m stuck between a rock and a hard place and I really don’t know where to go. I know I’m young and have so much time but I can’t help but feel like I’m running out of it. I’d like to stop beating myself up about the fact that I didn’t finish school and feeling stupid/incapable. I know I’m very smart and a very fast learner when put in the right environment. I just don’t know what that is.
I'm entering my second year (3rd semester) of college. I was told my first year not to bother applying for FASFA since my disability income would mean I got no Pell grant money.
Someone this year told me they agree I won't get any pel grant money, but I should do it anyways because i might get some other small scholarships.
I did it the application and the only thing the it asked me about income was access to my tax forms which I granted. I figured maybe they detect the va disability automatically....
Only once the review was done I got the full Pell grant apparently.
I asked them if this was an error and they said va disability isn't included in the form because it's untaxed... so that means I just missed out on 8k last year?
Or is there some type of issue? Researching it it appears everyone is sayings va disability IS included in income, so why wasn't it for me?
Did it recently change? If so when? I'll be kicking myself for a while if I find out I missed out on 8k
Does anyone know? Is it true you can get your hard copy of your C-File by making an appointment at your local VA regional office?
I would love to do this instead of waiting 6+ months to get in the mail.
If this is true, should I fill out a form and take with me to Va regional?
Thanks in advance.
Hello all. I was wondering if the VA has a form that just shows proof of disability rating without revealing the conditions I was rated for. (Using this form for veterans preference)
Thank you.
Lors de cette longue émission sur la chaîne de
Lucyshade comme désormais nous les faisons toutes, nous avons abordé de nombreux sujets, allant de l'architecture aux lois de la guerre, en passant par la littérature populaire, l'armement, les rites funéraires et le droit des animaux. Voici les sources vous permettant de vérifier ce qui a été dit durant l'émission :
Armet et messer : En attendant que le public arrive, nous avons discuté avec les premiers venus de l'équipement de Lucy, composé notamment d'un armet et d'un kriegmesser.
L'armet est un casque apparu dans la second moitié du XVe siècle, avec
des prototypes, hybridé à partir de
barbutes ou de
bascinets, comme
cet exemple italien, du début du XVe siècle. Le principe de l'armet est d'épouser la forme du crâne de très près et de l'entourer complètement, n'offrant aucune partie de la tête expoée. Pour ce faire, l'armet s'articule en trois points, la visière qui peut remonter et les deux flancs qui sont articulés pour s'ouvrir vers l'extérieur, parfois de manière très élégante en élytres, dans le but d'enfiler le casque. On referme les flancs, qui sont joints par un loquet, pour enfermer la tête dans le casque.
L'arme qu'utilise Lucy est un sabre d'un type assez largement répandu appelé "
messer", de l'allemand et qui signifie "couteau". Il existe des
grossemesser de divers
styles en fonction des époques, mais aussi des versions destinées à la guerre appelées "
Kriegmesser", de l'allemand "Krieg", qui signifie "guerre". Certains pouvaient avoir
de généreuses dimensions, comme
celui utilisé par Lucy. On peut voir
ici un exemple à gauche et comparer sa taille aux
espadons qu'on voit à côté pour avoir une idée générale des dimensions de l'arme.
La cotte de plates : Parfois, on voit des chevaliers ne porter aucune armure ou, en tous cas, aucune armure au dessus de leur cotte de mailles,
comme ici, mais en vérité, à partir du XIIIe siècle, au dessus de la cotte de mailles et en dessous de la
cotte d'armes ou "tabard", on porte communément la
cotte de plates. Cette pièce d'armure est constituée de
nombreuses plaques de métal se chevauchant les unes, les autres et assemblées à du tissu, généralement par rivetage. Il en a existé
de nombreuses formes, avec des plates
verticales ou
horizontales et même
carrées.
Un exemple connu de cotte de plates est la
statue de St Maurice à Magdebourg, sur laquelle on voit bien, notamment au niveau des aisselles, la cotte de plates dépasser du tabard.
Avec le temps, les plates deviennent
de plus en plus petites et se chevauchent de plus en plus largement, préfigurant la
brigandine, qui repose sur
le même principe.
L'apparition de la rapière : Cette question est très intéressante, puisqu'elle suppose qu'on ait une définition claire et précise de ce qu'est la rapière, ce que nous n'avons pas. Encore aujourd'hui, et déjà à l'époque en vérité, l'appartenance ou non d'une épée à la catégorie des rapières est un débat commun des amateurs d'histoire de l'armement.
Cet exemplaire, par exemple, est une épée capable de taille mais essentiellement, même presque uniquement, dédiée à l'estoc munie d'une lame très longue et dotée d'une garde complexe. C'est donc la rapière par excellence, pourtant la majorité des gens n'appellerait "rapière" une épée que si elle a
cette monture. Partant de ce principe,
cette épée qui a mangé un peu trop de choux à la crème est une rapière et
pas celle-ci alors qu'elle a, au moins sur le papier, tout ce qu'il faut. C'est la raison pour laquelle il ne faut pas trop strictement s'attacher au sens qu'on donne aux mots.
On voit apparaître des épées à montures complexes dès le début du XVe siècle sur des épées appelées "
spada da lato" en italien ou "sidesword" en anglais, comme
cet exemplaire de 1432 ou
celle-ci de 1460-1480. On en trouve même avec des montures qu'on verra sur les premières rapières clairement identifiées, comme sur
cette épée datée de 1480. Ces épées sont du type qu'utilisaient les hommes de Christophe Colomb ou les premiers conquistadores.
La rapière clairement définie, sans équivoque, sans débat d'opinions, apparait aux environs de 1560 et tout le monde s'y met, quoique les Allemands ont un peu de mal à comprendre qu'on peut faire des épées pour autre chose que couper des gens en deux d'un seul coup et nous sortent donc
une rapière qui a un peu trop écouté Rammstein avec une lame aussi large que n'importe quelle épée de taille de la fin du Moyen-âge, mais je les pardonne parce que j'en veux une comme ça pour mon anniversaire.
La prise de guerre : Le terme "
droit de prise" est moderne et sanctionne légalement le droit à une prise, une réquisition, par l'autorité du vainqueur parmi les matériels de l'ennemi vaincu. Il est opposé au "butin", qui est ce que la troupe va pouvoir récupérer pour son bénéfice personnel. L'ensemble constitue la ou les "prises de guerre".
Les
lois de la guerre modernes comme les
conventions de Genève et de celles de La Haye de
1899, de
1907 et
1954 ne sont à notre connaissance pas codifiées durant le Moyen-Âge, et on se contente de suivre un corpus de règles théologiques, morales, culturelles, ainsi que certaines doctrines personnelles comme celle qu'expose Giovanni da Legnano dans son oeuvre
Tractatus de Bello, de Represaliis et de Duello, ouvrage dans lequel il offre un ensemble de lois de la guerre, qui seraient universelles, plutôt que de laisser le choix des actes (pardon, rançon, pillage, clémence, exécutions sommaires, procès, etc.) ainsi que la manière de les mettre en oeuvre à chaque commandant.
Cette vidéo en anglais, par un maître d'escrime médiévale, historien et archéologue, détaille dans ses premières minutes la question du butin et comment ou pourquoi on peut ou ne peut pas s'approprier tous les biens d'un ennemi vaincu en fonction de notre rang social.
Le "Sturmgeld", ou bonus financier pour ceux qui lancent l'assaut, retirent les pierres du passage après destruction d'une muraille ou acceptent de se lancer dans une opération plus dangereuse que la moyenne, est commune au Moyen-Âge.
Un texte édité par le Sorbonne et qui traite du pillage chez les byzantins.
La pratique de la rançon est très commune au Moyen-Âge, c'est même la première source de revenus de la guerre et, pour la majeure partie de la noblesse, la première source de revenus toutes catégories confondues.
Richard Coeur de Lion a été rançonné pour 150 000 marks d'argent, le rois de France Charles Ier d'Orléans sera rançonné pour 220 000 livres.
Saladin n'acceptera d'offrir de sauf-conduit vers les terres chrétiennes à la population de Jérusalem, qu'il venait de prendre, que si ils n'étaient pas choisis d'office comme esclave et pouvaient s'acquitter d'une rançon de 20 besants pour un homme, 10 pour une femme et 5 pour un enfant. Il réduisit progressivement ce prix au cours des négociations jusqu'à finalement accepter un paiement unique de 30 000 besants contre la libération de 7 000 prisonniers avec possibilité d'échanger les hommes contre les femmes et les enfants à raison de dix enfants ou deux femmes pour un homme.
Les chevaux au Moyen-âge : Les chevaux au Moyen-Âge sont séparés en plusieurs catégories en fonction de leur apparence, leur tempérament et l'usage qui en découle.
Les roncins, roussins ou ronchins sont des chevaux de travail, d'éducation ou de loisir. Ils ont une réputation de force, d'ardeur à la tâche et de rusticité, ce qui explique pourquoi Jehan le Bel, dans
ses mémoires, écrit au chapitre X que les Escots, dont il vante la dureté et les prouesses militaires, les montaient pour porter la guerre contre leurs ennemis. C'est un cheval sans noblesse, et celui qui peut se procurer mieux le faisait.
On trouve aussi les
destriers, les
palefrois, les coursiers, les sommiers ou les affrus. On fait grand usage de
hongres et de
haquenées dans tous les domaines et les
chevaux ambleurs, ceux qui vont au pas appelé "amble", sont très appréciés car ce pas cause très peu de secousses pour le cavalier et est donc très confortable.
Cet article publié dans le Journal International d'Ostéoarchéologie détaille une étude de presque deux mille chevaux du IVe au XVIIe siècle, laquelle a trouvé une taille de moins de 1m50 pour la large majorité des spécimen. Ces chevaux avaient donc une taille d'environ 1m20 à moins de 1m50 au garot, équivalente aux actuels pur-sangs arabes, au mustangs ou aux chevaux de Przewalski et seraient donc ce qu'on appelle aujourd'hui un poney, quelques rares spécimens dépassaient 1m50.
Il est important de ne pas exagérer cette petite taille comme beaucoup le font : c'étaient des poneys, mais pas des poneys du Shetland. Pour obtenir une meilleure idée, rien ne vaut les images :
ce cheval, qui va d'ailleurs à l'amble dont je viens de vous parler, mesure environ 1m35-40 au garrot.
Les
caparaçons, qui sont les
armures des chevaux, nous sont très utiles puisqu'ils sont aux dimensions des chevaux de l'époque. Vous pouvez aussi voir sur l'
iconographie de l'époque que les chevaux n'étaient pas gigantesques, en vérité leurs garrots arriveraient en haut de la poitrine d'un homme se tenant debout.
La mode à la fin du Moyen-Âge et au début de la Renaissance : En bas, au milieu, on voit un homme porter le fameux duo gagnant : pantalon à jambes bicolores dont une bleue monochrome et l'autre bariolée orange et marron en accord ton-sur-ton avec le pourpoint en brocard à moitié dépoitraillé. Un grand classique.
Ici, un homme a tout misé sur le pantalon pour sortir en boite ce soir. Son pote à gauche a choisi de faire sobre aujourd'hui : ballerines en daim sur leggings rayés jaune/gris et rouge pétant pour la discrétion.
Quand on n'a pas de coquille, on laisse pendre la dague entre les jambes pour compenser. Il y a même existé un type de dague appelé "dague à rognons" ou "à couillettes" qui... disons qu'elle
portait bien son nom.
Mais
on trouve toujours une solution, quitte à rembourrer un peu ou même à s'en servir comme porte-monnaie.
On porte généralement un genre de pantalon court de pyjama par dessus lequel on monte des "chausses", qui sont semblables à des chaps moderns, comme
cet homme à droite. On referme à l'avant par
un simple rabat qui préfigure les
coquilles des
décennies suivantes jusque durant la Renaissance où on misera sur un look "
poutre apparente" d'un goût tout à fait délicieux.
Les
braies n'ont jamais vraiment disparu durant le Moyen-Âge, et elles avaient l'avantage d'être moulantes pour exposer sa musculature et son organe, mais aussi d'être renforcées à la semelle, ce qui permettait de les porter sans chaussures.
Dans Les Très Riches Heures du Duc de Berry, on nous montre même un paysan qui a décidé de
miser sur le confort avant tout.
La Guerre du Seau : Une vidéo en anglais qui traite de cette guerre et explique où se séparent l'Histoire et la légende.
Les Elfes et les Gobelins sur Wikipedia.
L'architecture philippienne : Les forteresses du Moyen-Âge sont au départ souvent une simple
motte castrale, généralement artificiellement créée par empilement de terre. Les mottes castrales ne sont généralement pas la demeure même du seigneur. Ce sont des observatoires fortifiés destinés à repérer une force ennemie et la ralentir ou, simplement, elles jouent le rôle de centre administratif local. Le seigneur vit dans une maison semblable aux nôtres à l'intérieur de l'enceinte de la motte.
Avec le temps, on se met à construire les fortifications systématiquement en pierre et on va évidemment
convertir les mottes castrales, voire même les
renforcer, mais un entassement artificiel de terre n'est pas ce qu'il y a de plus solide alors on va construire les châteaux sur des
éperons rocheux.
La
forteresse normande va marquer un tournant dans l'architecture militaire, en augmentant la hauteur des bâtiments dont la forme devient carrée, surmontée d'une tour à chaque coin et entourée d'une grande muraille de pierre contenant tout ce qui permet au château d'être autonome : puits, basse-cour, potager, écurie, etc. C'est à cette époque que le seigneur se met à vivre dans le "donjon", la tour constituant le principal bâtiment de la forteresse.
Plus tard, sous Philippe le Bel, l'architecture militaire va évoluer avec, notamment, des tours rondes surmontées de toitures tuilées, des ouvrages de bois pour projeter la muraille vers l'avant et tirer directement au bas des murs, les "
hourds". On arrive à la forteresse typique de la fin du Moyen-Âge, la
forteresse philippenne, dont on a eu des exemples
bâtis dès le départ comme tels ou
convertis depuis des forteresses normandes.
Le
château de Talmberg dans le jeu vidéo Kingdom Come Deliverance est un excellent exemple de forteresse philippienne et la ville de
Rataje est, elle, une "citadelle", une ville entièrement fortifiée, dans ce même style architectural, ainsi que l'est l'incroyable ville française de
Carcassonne, probablement l'un des plus impressionnant et des mieux conservés des exemples non seulement de forteresse philippienne mais aussi de fortification médiévale toutes catégories confondues.
Le château de
Guédelon est une forteresse de style philippien en cours de construction selon les méthodes et avec les outils et technologies de l'époque. C'est actuellement l'un des projets d'archéologie expérimentale les plus audacieux et précis jamais entrepris.
La majorité des chevaliers vivaient néanmoins dans des maisons dites "
fortes", comme
celle-ci.
Le Roman de Renart : Le
Roman de Renart est un ensemble d'oeuvres mettant en scène des animaux anthropomorphes vivant leurs aventures et centré autour du personnage de Renart, un "goupil". C'est parce que ces histoires ont connu le succès que, de nos jours, on appelle les goupils "renards", en référence au personnage principal de ces aventures.
Moi Renart est une adaptation moderne et libre sous forme de dessin animé. Les aventures sont parfois fortement modifiées, voire totalement inventées, mais les personnages gardent globalement leurs traits de l'original à cette adaptation.
Le roman de Renart est inspiré des
fables d'Ésope qui sont aussi à la base des
fables de La Fontaine).
Le code d'honneur du combattant : Il existe des termes comme "Code de Chevalerie" ou "Serment du Chevalier", au sujet desquels je n'ai pu trouver quoi que ce soit de vérifiable, je ne les inclus donc pas ici puisqu'il m'est impossible de vérifier si leurs textes sont des inventions modernes ou non.
L'idée d'un code de la chevalerie, bien que non-codifié, qui inclut des mentions de rançon, pillage et droit de prise mais aussi d'honneur, de valeur, de règles de respect des prisonniers, de protection des pauvres et des faibles, de merci pour un ennemi vaincu, de clémence envers un tort, de respect de la parole donnée ou de fidélité à un suzerain est déjà bien ancrée dans la culture à la fin du Moyen-Âge.
Les chevaliers ne suivaient pas
tous ou
pas toujours ces règles, allant d'une allégeance à l'autre en fonction du climat politique ou de leur intérêt personnel.
Emich de Flonheim est notoirement réputé pour avoir pratiqué le brigandage et le génocide en dirigeant une bande de croisés séparés de la croisade populaire vers les villes d'Europe centrale et de l'Est où il massacrera spécifiquement les juifs sous couvert de vengeur pour le christ.
L'Angleterre a connu ce même problème, avec notamment les gangs
Folville et
Coterel.
Le corps de "gendarmerie" de la France, institué lors de la seconde moitié du XVe siècle, était composé à large majorité d'anciens "écorcheurs", les troupes personnelles du roi de France durant la Guerre de Cent Ans, avec pour but de combattre le banditisme très important dans les campagnes de France et dû à des guerriers sans emploi en maraude, beaucoup eux-mêmes d'anciens écorcheurs.
L'embaumement et la momification au Moyen-Âge : Ressources et lectures supplémentaires : Texte intégral de la convention de La Haye de 1907, qui reconfirme les décisions de la convention de 1899 et ajoute quelques articles.
Extrait d'un ouvrage que vous pouvez vous procurer et qui traite du droit de prise au Moyen-Âge avec, comme cas d'école, les écorcheurs, les troupes régulières du Royaume de France à la fin de la Guerre de Cent Ans.
La différence entre
jus ad bellum, le droit pour entrer en guerre, et le
jus in bello, le droit lorsqu'on est en guerre.
Le
concile de Charroux en 989 est une tentative primitive de loi de la guerre et qui a trait à ce qu'on nomme aujourd'hui le "code de chevalerie". Il détaille ce qu'il est interdit de faire lors de la guerre et, bien qu'il inclut les pauvres, il met surtout l'accent sur l'Église : interdiction de voler l'Église, de s'en prendre à ses personnels et ses biens, etc. Il évoque le pillage comme part normale de la guerre.
I have a question! I found almost an identical case that was appealed and the appeal led to the courts determining a remand and eventually getting service connected in his favor. I'm wrighting a lay statment for evidence for a supplemental claim appeal because my VSO didn't send in my original va form 21-10210. Should I mention the case number or case name in my lay statment?