Welcome to 6:47 of complete, bonkers industrial music played by the experimental music group Einstürzende Neubauten. Formed in West Berlin in 1980, here they are in 1984 playing on piles of junk in a piece they called ‘Autobahn’. Scraping steel, chainsaws, grinders, and screaming. Just what’s you expect from a 1980’s German punk/industrial/what-the-heck-was-that band.
Stable Diffusion really opened the world to what is possible with generative AI. Stable Diffusion 2 and 3 …well…did not go so well. For a while now, Stable Diffusion 1.5 was your best bet on locally generated AI art but it is really showing it’s age.
Now there is a new player in open source generative AI you can run locally. The developers from Stability.ai have founded Black Forest Labs and released their open source tool: Flux.1
While there are plenty of online generative AI’s like Midjourney, Adobe Firefly and others, they usually require paid or only give limited usage. What’s great about Flux.1 is that is allows completely local installation and usage.
Like many open source packages, there are free and paid versions. Their paid Pro version gives the most impressive results via their api (no purely local generation), a local dev version that can be used by developers but not for commercial use, and a free schnell version for personal use. Both the dev and shnell versions are available for local install and use.
So, lets get started with the shnell version – but the instructions are the same for dev except using 2 different model/weight files.
Instructions for installing Flux.1 on nVidia based Windows 10/11 system:
You might want to enable Windows Long Path support as python sometimes requires it for dependent packages. Be sure to reboot your system after enabling it.
Supported graphics card.
32gb of system ram (though again, you can use the smaller model if you have less ram)
Open a command prompt and make a local working root directory somewhere, I’ll use c:\depot\
You have a few options. First, you need to pick if you’re using the non-commercial Dev version or Schnell version. After that, each has the option of a single easy to use checkpoint package file, or each of the model data files individually. I’ll be using the Schnell ones, but you just need to get the Dev ones from the Dev branch if you want those instead.
C:\depot\ComfyUI>python main.py
A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.1 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.
Traceback (most recent call last): File "C:\depot\ComfyUI\main.py", line 83, in <module>
import comfy.utils
File "C:\depot\ComfyUI\comfy\utils.py", line 20, in <module>
import torch
File "C:\Users\matt\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\torch\__init__.py", line 2120, in <module>
from torch._higher_order_ops import cond
File "C:\Users\matt\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\torch\_higher_order_ops\__init__.py", line 1, in <module>
from .cond import cond
File "C:\Users\matt\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\torch\_higher_order_ops\cond.py", line 5, in <module>
import torch._subclasses.functional_tensor
File "C:\Users\matt\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\torch\_subclasses\functional_tensor.py", line 42, in <module>
class FunctionalTensor(torch.Tensor):
File "C:\Users\matt\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\torch\_subclasses\functional_tensor.py", line 258, in FunctionalTensor
cpu = _conversion_method_template(device=torch.device("cpu"))
C:\Users\matt\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\torch\_subclasses\functional_tensor.py:258: UserWarning: Failed to initialize NumPy: _ARRAY_API not found (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\torch\csrc\utils\tensor_numpy.cpp:84.)
cpu = _conversion_method_template(device=torch.device("cpu"))
Total VRAM 24576 MB, total RAM 32492 MB
pytorch version: 2.4.0+cu121
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce RTX 3090 : cudaMallocAsync
Using pytorch cross attention
C:\depot\ComfyUI\comfy\extra_samplers\uni_pc.py:19: SyntaxWarning: invalid escape sequence '\h'
"""Create a wrapper class for the forward SDE (VP type).
****** User settings have been changed to be stored on the server instead of browser storage. ******
****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ******
[Prompt Server] web root: C:\depot\ComfyUI\web
C:\Users\matt\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\kornia\feature\lightglue.py:44: FutureWarning: `torch.cuda.amp.custom_fwd(args...)` is deprecated. Please use `torch.amp.custom_fwd(args..., device_type='cuda')` instead.
@torch.cuda.amp.custom_fwd(cast_inputs=torch.float32)
Import times for custom nodes:
0.0 seconds: C:\depot\ComfyUI\custom_nodes\websocket_image_save.py
Starting server
To see the GUI go to: http://127.0.0.1:8188
Open your web browser and go to http://127.0.01:8188
Click on the ‘Queue Prompt’ button to execute the current prompt
Technically it queues up the work and you should see progress in the command window where you launched python main.py
got prompt
model weight dtype torch.float8_e4m3fn, manual cast: torch.bfloat16
model_type FLOW
Using pytorch attention in VAE
Using pytorch attention in VAE
Model doesn't have a device attribute.
C:\Users\matt\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\transformers\tokenization_utils_base.py:1601: FutureWarning: `clean_up_tokenization_spaces` was not set. It will be set to `True` by default. This behavior will be depracted in transformers v4.45, and will be then set to `False` by default. For more details check this issue: https://github.com/huggingface/transformers/issues/31884
warnings.warn(
Model doesn't have a device attribute.
loaded straight to GPU
Requested to load Flux
Loading 1 new model
Requested to load FluxClipModel_
Loading 1 new model
C:\depot\ComfyUI\comfy\ldm\modules\attention.py:407: UserWarning: 1Torch was not compiled with flash attention. (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\aten\src\ATen\native\transformers\cuda\sdp_utils.cpp:555.)
out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=mask, dropout_p=0.0, is_causal=False)
100%|████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:04<00:00, 1.18s/it]
Requested to load AutoencodingEngine
Loading 1 new model
Prompt executed in 23.65 seconds
When it completes you should see your image. You can then save your image or tweak the parameters.
Debugging help:
numpy is not available
My first runs, I got this from the console when I queued up a request:
got prompt
model weight dtype torch.float8_e4m3fn, manual cast: torch.bfloat16
model_type FLOW
Using pytorch attention in VAE
Using pytorch attention in VAE
Model doesn't have a device attribute.
C:\Users\matt\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\transformers\tokenization_utils_base.py:1601: FutureWarning: `clean_up_tokenization_spaces` was not set. It will be set to `True` by default. This behavior will be depracted in transformers v4.45, and will be then set to `False` by default. For more details check this issue: https://github.com/huggingface/transformers/issues/31884
warnings.warn(
Model doesn't have a device attribute.
loaded straight to GPU
Requested to load Flux
Loading 1 new model
Requested to load FluxClipModel_
Loading 1 new model
C:\depot\ComfyUI\comfy\ldm\modules\attention.py:407: UserWarning: 1Torch was not compiled with flash attention. (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\aten\src\ATen\native\transformers\cuda\sdp_utils.cpp:555.)
out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=mask, dropout_p=0.0, is_causal=False)
100%|████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:04<00:00, 1.19s/it]
Requested to load AutoencodingEngine
Loading 1 new model
!!! Exception during processing!!! Numpy is not available
Traceback (most recent call last):
File "C:\depot\ComfyUI\execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\depot\ComfyUI\execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\depot\ComfyUI\execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\depot\ComfyUI\nodes.py", line 1445, in save_images
i = 255. * image.cpu().numpy()
^^^^^^^^^^^^^^^^^^^
RuntimeError: Numpy is not available
Prompt executed in 26.44 seconds
C:\depot\ComfyUI>pip install numpy==1.26.4
Defaulting to user installation because normal site-packages is not writeable
Collecting numpy==1.26.4
Downloading numpy-1.26.4-cp312-cp312-win_amd64.whl.metadata (61 kB)
Downloading numpy-1.26.4-cp312-cp312-win_amd64.whl (15.5 MB)
---------------------------------------- 15.5/15.5 MB 57.4 MB/s eta 0:00:00
Installing collected packages: numpy
Attempting uninstall: numpy
Found existing installation: numpy 2.0.1
Uninstalling numpy-2.0.1:
Successfully uninstalled numpy-2.0.1
Successfully installed numpy-1.26.4
C:\depot\ComfyUI>
Uninstalling all pip/python package, clear your pip cache, then re-install the requirements
The first time I installed, I got an error when downloading the numpy library during step in which you pip install the requirements. In order to clear the pip cache, uninstall all pip packages, then re-install all requirements again, I did the following:
Riumplus built his own Myst linking book – in which you can see not only video; but play the actual game. He used a copy of Harper’s New Monthly Magazine, Volume LIV, Issue 312, December 1876 to May 1877 to make the outside of the book.
You haven’t lived until you’ve gone to a stationary shop in Japan. They have the most amazing products, pens, papers, calligraphy, notebooks, binders, pencil cases, sharpeners, and gadgets.
Little Bubbly Child has some of the more colorful characters one might meet in rural/Appalachian locations. While I love rural areas and find them full of the wonderful and often well educated people, if you’ve lived in these locations you’ve probably met one or more of these folks that everyone sighs when they interact with them.
It turns out, there are only 6 officially supported interpreted languages at the UN – so how does that work with dozens of languages (hint: via a clever relay system)? How much to interpreters get paid? What are some interesting facts about interpreting and brain usage?
Tech Planet shares a video of the University of Sheffield’s new AI to design a rocket engine. They used AI to help design it, then 3D printed and fired it up.
You are young and life is long, and there is time to kill today. And then one day you find, ten years have got behind you No one told you when to run, you missed the starting gun
I saw a quote on a gaming forum the other day that made me pause. A young indie developer was lamenting how long his game was taking to make and he was showing all the signs of burnout. Another dev commented they should just take a break and come back to it in 6 months or a year. ‘You can always come back and finish an idea later.’ Everyone agreed. I would have agreed even 5 years ago.
All during your 20’s and 30’s, time seems infinite. When I reached 40, I realized that statistically, I was HALF WAY through life (assuming average age of death is 77). Time goes so much faster than you expect. When I was doing some financial planning to see if I was on track, this quote came up:
The days are long, but the years are short.
While we are doing the day-to-day living, our investments are compounding for us. If we haven’t been saving for our retirement then we are going to be shocked how quickly a decade goes by and we’re far behind where we hoped.
Not only that, but all those projects and goals I was going to get to some day had less and less time to be done. I have seen this with my friends that have kids. As their kids grow up, they get about 10 good years of summer fun with them before they are teens with their friends or off to college. Then we wake up and realize we are 50. Well over halfway through life.
When you are young, you have all the time and energy in the world – but no money. When you are middle-age, you have energy and money – but no time. When you are old, you have money and time – but no energy (or health).
I’m not even 50 and am starting to have friends come down with life-limiting, permanent disabilities or dying of actual medical issues (not just accidents or freak events). The average age of death in the United States is 77 years old. We forget that means that 50% of people never make it to that age. I was recently completely surprised by not 1, but 2, life-threatening medical conditions – I have learned clearly that it can all end very quickly. This is not new:
And he told them this parable: “The ground of a certain rich man yielded an abundant harvest. He thought to himself, ‘What shall I do? I have no place to store my crops.’
“Then he said, ‘This is what I’ll do. I will tear down my barns and build bigger ones, and there I will store my surplus grain. And I’ll say to myself, “You have plenty of grain laid up for many years. Take life easy; eat, drink and be merry.”’
“But God said to him, ‘You fool! This very night your life will be demanded from you. Then who will get what you have prepared for yourself?’
“This is how it will be with whoever stores up things for themselves but is not rich toward God.”
Luke 12:16-21
If you think about what’s next, you can become disillusioned:
And I detested all the fruits of my toil under the sun, because I must leave them to the one who is to come after me. And who knows whether that one will be wise or a fool? Yet that one will take control of all the fruits of my toil and wisdom under the sun. This also is vanity. So my heart turned to despair over all the fruits of my toil under the sun. For here is one who has toiled with wisdom and knowledge and skill, and that one’s legacy must be left to another who has not toiled for it. This also is vanity and a great evil. For what profit comes to mortals from all the toil and anxiety of heart with which they toil under the sun? Every day sorrow and grief are their occupation; even at night their hearts are not at rest. This also is vanity.
There is nothing better for mortals than to eat and drink and provide themselves with good things from their toil. Even this, I saw, is from the hand of God. For who can eat or drink apart from God? For to the one who pleases God, he gives wisdom and knowledge and joy; but to the one who displeases, God gives the task of gathering possessions for the one who pleases God. This also is vanity and a chase after wind.
Ecclesiastes 2:18-26
So what is one to do? If we embrace the fact that all these toils are ultimately for not, then we are to set our eyes on something that lasts. God gives us clear direction as to what we should spend our lives on – the things that matter for eternity. I have been re-evaluating all the things I spend my time on now and choosing carefully. What should we choose? Loving our neighbor and toiling in the vineyard so we can show ourselves to be servants who only did what they should have done.
Sell your possessions and give to the poor. Provide purses for yourselves that will not wear out, a treasure in heaven that will never fail, where no thief comes near and no moth destroys.
Luke 12:33
Why the Indianapolis Airport was rated as one of the top 10 airports in the US