Dearest Rachel –
There were plenty of days when I would come home from the office (both when I was actually working at my job, and after I had set myself up with a desk in my folks’ basement after retiring), and you would ask me about my day, and I would have a certain level of difficulty in answering. When it came to my actual job, part of that was because I didn’t see the point in burdening you with my interpersonal issues with Mohinder – besides, it wasn’t as if you hadn’t heard the stories before. But there was also the fact that most of my work involved these finicky little details that get too deep into the weeds for anyone other than myself (and those paying me to do those thing) to truly be interested in.
Even from my days in college, I had no illusions about my profession; I was perfectly aware that accountancy is considered a boring career, only matched (and possibly exceeded) by insurance and the actuarial sciences. I always took it as a compliment when someone would discover what I did for a living, and say “Wow, I never would have guessed you were an accountant!” I went into it because it was a stable occupation – people and businesses will always need someone to prepare their finances – and because I thought I could do well enough at it, not because it was exciting. Sometimes, you just need a gig to pay the bills, after all.
But it did make answering that “how was your day” question a bit problematic from one day to the next. Much as I might want to fill you in on what was going on, I was fully aware that the details were of little real interest to you. This isn’t meant to cast aspersions on your intellect, you must understand; those details could be hard to follow at times, even for one in the profession (which you weren’t).
Now, it was a little easier to talk about some details once I left my job, and began ‘working’ on a more intensive basis on the church (and shortly thereafter, the camp). If nothing else, you had a vested interest in what was happening at those places (unlike my old workplace), so you were willing to tread with me into the weeds a bit as I explained what I could about what was going on, and what part I was able to assist on. Naturally, there were (and still are) things that were in progress at the time that I couldn’t discuss until they were made public, but that’s a separate issue entirely. The point is, I could go into a certain amount of greater detail at this point without running the risk of losing you in the discussion, because you wanted to know what was going on; you had skin in the game, so to speak.
This didn’t always make those explanations easier, however; those finicky little processes were sometimes hard to explain to someone who wasn’t actually looking over my shoulder, watching as I performed the tasks at hand. The little things that made up a day’s work just weren’t the stuff of a gripping yarn.
And so it is with yesterday’s events, even though it’s a project that, as a computer science major, you might have found interesting at some point. Indeed, since it has to do with my attempts to train my computer about the details of your face and form, you literally have more skin in the game than anyone. Sure, it’s a language that didn’t exist when you were a student (and as a consequence, you know literally nothing about), but between the construction and the ultimate output, I think you might well find what I’m doing to be of more interest than much of what I ever did at work before.
The trouble is, I’m not entirely sure of what I’m doing; I’m so far into the weeds that, not only are my explanations of what went on yesterday (or any given day I’m trying to work with this) going to be hard to follow, I’m likely to have difficulty even coming up with those explanations, not quite being sure of what actually happened in the first place. Still, let’s see if I can describe the process without using too much jargon.
For starters, there’s no point in me going into detail about how everything was set up; for all that, I was simply following instructions. Now, if you’re really interested in those details, I can point you to the site with the instructions I tried to follow as closely to the letter as possible. Suffice to say that it involved installing three different components: a search-and-install program that runs within Windows Explorer, the programming language that the AI is developed in, and what’s referred to as a ‘checkpoint’ file (more on that last one in a moment). If everything is set up correctly, the result is a somewhat user-friendlier interface (well, friendlier than creating – or even having to copy – hundreds of lines of code, anyway) that you can use to input all manner of parameters in order to generate an image, or even a collection of images.
This sort of technology would be an absolute boon to those trying to illustrate a story they’re writing, but who lack the artistic skills to do so themselves. Indeed, the checkpoint file shown here comes from a specific program within this language called NovelAI, which is designed to also write stories as well as illustrate them. There are plenty of other such files, and if they were to be plugged into that “Stable Diffusion checkpoint” field in the upper left hand corner, the output results for all the same parameters would bring back vastly different results (which is why I’ve been spending a fair amount of time collecting them this past week).
And let me see if I can’t quickly explain the concept of checkpoint files at this juncture, because this is what everything sort of hinges on. Each of these files are essentially reference books for the interface to work with as a means of coming up with images, based on certain prompts (both positive and negative, as sometimes there are things you don’t want in your picture, or you want the AI to check for and clean up rather than submitting – you don’t want to know what it can come up with that falls under the category of ‘bad anatomy,’ for instance). Despite their size (several gigabytes each), they do tend to specialize. As you can see from this image, the NovelAI checkpoint leans heavily towards an anime style, as do a number of other such files available online. Others are geared toward specific art styles; the flagship file, Stable Diffusion (in its various versions – I’m downloaded 1.4, 1.5 and 2.1, which becomes a plot point in a minute), not only can generate a portrait as if it were a photograph, an oil painting, a watercolor or a sketch, it can also see you in the way specific famous artists would have:
What I’m trying to accomplish at this point is to create a checkpoint file based on the pictures I have of you, so as to merge your checkpoint with various other ones and come up with more accurate representations of you in the styles and settings that I would like – the online portal, while amazingly varied (as you can see), does have its limitations, particularly in terms of size (and, to be honest, its familiarity with specific anime and artists is a little annoying, as well). This turns out to be a more involved process as well, and requires a more powerful graphics processor than any of my computers have. Fortunately, this can be resolved by renting a virtual system for the time it takes to convert your pictures into such a file – although at that point, another surprise emerged, in that thus far, the interface seems to limit the process to but thirty pictures. For all my bemoaning the fact that I couldn’t come up with even two hundred pictures of you after all these years, the upper bound on what can go into the checkpoint seems to be decidedly lower than that, which I find concerning – more poses and more expressions would yield more varied results, in my mind. Even those portraits of you look fairly basic after a while.
But that’s something I didn’t actually get into, as it would be too time- and power-intensive for one day – and the fact that I had this question about quantity has left me deciding to set the project aside until I get a satisfactory answer. The pictures aren’t going anywhere, in any event, as much as I’d like to get started on this homebrewed studio.
No, what really chewed up my day was the fact that several of the checkpoint files I downloaded turned out to be non-functional. No idea why; the program spoke of my not having permission to do this or that thing, which is frustrating. I own the machine, after all, I should be able to do what I want with it. Moreover, the interface wound up getting stuck on one of these non-functioning checkpoints, which meant that it tried to load it up when it was started, realized it didn’t work, and closed itself up, rendering the entire setup useless. At this point, I decided I would need to tear the whole thing apart, and rebuild it again from scratch.
Back where I used to work, we moved our headquarters from an industrial park in a suburb south of here to a larger space out in the far western edge of the county. We built a new building in the middle of a hundred acres of wetlands and prairie, and got a tax deduction for keeping the majority of that prairie in a sort of natural state. One of the things we were (and presumably still are) required to do in order to maintain that state was a regular schedule of controlled burns, to keep the soil nourished and to prevent fires from accidentally breaking out. I’m of the understanding that certain western states could learn a thing or two from this policy, for all my complaint about governmental regulation; some of these things are, in fact, beneficial, if not necessarily intuitive.
One thing you learn from this practice is that you don’t set the weeds on fire when you’re deep in the middle of them. That’s pretty much a summation of yesterday afternoon, when I tried to rebuild everything. The programming language couldn’t find its own install command, and while I managed to locate it in one part of the system, putting where it was needed elsewhere proved to be too much of a challenge. I’m still pretty much stuck at square one at the moment. All in all, it was a frustrating day, although I will admit to having wasted nothing but time.
I’m not sure if I’m going to bother with all that today, or if so, to what extent. Much as I want to get into it again, there are other priorities as the month comes to a close, and there’s no sense in beating my head against a wall for too long. All you get from that is a headache after a while. Best to let myself clear my head, and try again when I’m not quite so pressed for time, especially with the weekend and the New Year (for what that’s worth) coming on.
All the same, keep an eye on me, honey, and wish me luck. Clearly, I’m going to need it.
3 thoughts on “When You’re Deep in the Weeds…”