yazılımcılık sektörünün bitmesi

entry35 galeri8
    26.
  1. eminim sana çok yardımcı olmuştur. chatgpt'in olmasa, orda sana verilen hata mesajından, orda kabak gibi yazan aynı library'nin iki farklı versiyonunun yüklendiğini sen anlayamacaktın. aklına da chatgpt'nin süper önerisini uygulamak (eski versiyonu çıkart, uyumsuzluk kalksın) gelemeyecekti:

    2. gtk-warnıng: gtk+ 2.x symbols detected. using gtk+ 2.x and gtk+ 3 in the same process is not supported.
    hata açıklaması: hem gtk+ 2.x hem de gtk+ 3.x simgelerinin aynı işlemde kullanıldığı belirtiliyor. bu da desteklenmeyen bir durum.

    sebep: aynı uygulama içinde iki farklı gtk sürümü (2.x ve 3.x) karıştırıldığında uyumsuzluklar ortaya çıkabilir. snap ile yüklenen chromium bu uyumsuzluğu yaratıyor olabilir.

    çözüm önerisi:
    gtk+ 2'yi tamamen kaldırın veya uygulamanın gtk+ 3 sürümünü kullanmasına zorlayın.
    snap ile kurulmuş chromium yerine apt kullanarak chromium'u yüklemek bazı durumlarda daha iyi uyum sağlayabilir:
    3 ...
  2. 27.
  3. çok basit bir örnek verdim, kendim deneyimli linux kullanıcısıyım, ve ne yazdığını az buçuk anlıyorum. işini hiç bilmeyen adama, ücretsiz biçimde yol gösterebiliyor mu ona bakacaksınız? yukarıdaki problem inanılmaz basit belki ama.

    bu sunucuda çalışan bir makine olsaydı, başında birkaç saat harcayan mühendis patrondan ek mesai ücreti talep edecek bu da karşı tarafa faturalanacaktı!

    henüz öğrenmediğimiz daha karmaşık konularda da çözüm önerilerinde bulunabiliyor, yol gösteriyor, bu bile yeterli değil mi?

    hadi daha zor bir probleme geçelim.

    şimdi benim /home/kratertepesi/veri de, 5_isa dizini altında, is1, is2,..., is5 den oluşan 5 adet, 512x512 boyutlarında png görüntüm, is1.txt den is5.txt ye kadar tagger yardımıyla oluşturulmuş 5 etiket dosyam var. "isa, solo, looking_at_viewer, short_hair, shirt, black_hair, 1boy, upper_body, short_sleeves, male_focus, english_text, black_shirt, facial_hair, blue_background, t-shirt, meme, realistic, fat, fat_man, real_life_insert " gibi etiketler içeriyor.

    comfyui dizininde, venv ortamında, 2.4.0+rocm6.1, ROCM-SMI version: 2.3.0+5ac86f6
    ROCM-SMI-LIB version: 7.3.0 versiyonlu runtime, 6.2.0 rocm kurulumuyla çalışıyorum.

    kernel versiyonum da şu şekilde:
    6.8.0-41-generic, Linux msi 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 2 20:41:06 UTC 2024 x86_64

    ubuntu 24.04 lts sürümünü kullanıyorum. açık kaynak amdgpu sürücüsüyle beraber.

    https://galeri.uludagsozluk.com/r/2371762/+


    comfyui üzerinde, checkpoint ettiğim stable diffusion la lora training aşamasında neden hata alıyorum söyleyin?
    https://galeri.uludagsozluk.com/r/2371763/+

    /home/kratertepesi/ComfyUI/venv/lib/python3.12/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/huggin...transformers/issues/31884
    warnings.warn(
    update token length: 225
    Using DreamBooth method.
    /home/kratertepesi/ComfyUI/venv/lib/python3.12/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/huggin...transformers/issues/31884
    warnings.warn(
    update token length: 225
    Using DreamBooth method.
    prepare images.
    found directory /home/kratertepesi/veri/5_isa contains 5 image files
    25 train images with repeating.
    0 reg images.
    no regularization images / 正則化画像が見つかりませんでした
    [Dataset 0]
    batch_size: 1
    resolution: (512, 512)
    enable_bucket: True
    min_bucket_reso: 256
    max_bucket_reso: 1584
    bucket_reso_steps: 64
    bucket_no_upscale: False

    [Subset 0 of Dataset 0]
    image_dir: "/home/kratertepesi/veri/5_isa"
    image_count: 5
    num_repeats: 5
    shuffle_caption: True
    keep_tokens: 0
    caption_dropout_rate: 0.0
    caption_dropout_every_n_epoches: 0
    caption_tag_dropout_rate: 0.0
    caption_prefix: None
    caption_suffix: None
    color_aug: False
    flip_aug: False
    face_crop_aug_range: None
    random_crop: False
    token_warmup_min: 1,
    token_warmup_step: 0,
    is_reg: False
    class_tokens: isa
    caption_extension: .txt

    [Dataset 0]
    loading image sizes.
    100%|███████████████████████████████████████████| 5/5 [00:00<00:00, 1410.42it/s]
    make buckets
    number of images (including repeats) / 各bucketの画像枚数(繰り返し回数を含む)
    bucket 0: resolution (512, 512), count: 25
    mean ar error (without repeats): 0.0
    preparing accelerator
    prepare images.
    found directory /home/kratertepesi/veri/5_isa contains 5 image files
    25 train images with repeating.
    0 reg images.
    no regularization images / 正則化画像が見つかりませんでした
    [Dataset 0]
    batch_size: 1
    resolution: (512, 512)
    enable_bucket: True
    min_bucket_reso: 256
    max_bucket_reso: 1584
    bucket_reso_steps: 64
    bucket_no_upscale: False

    [Subset 0 of Dataset 0]
    image_dir: "/home/kratertepesi/veri/5_isa"
    image_count: 5
    num_repeats: 5
    shuffle_caption: True
    keep_tokens: 0
    caption_dropout_rate: 0.0
    caption_dropout_every_n_epoches: 0
    caption_tag_dropout_rate: 0.0
    caption_prefix: None
    caption_suffix: None
    color_aug: False
    flip_aug: False
    face_crop_aug_range: None
    random_crop: False
    token_warmup_min: 1,
    token_warmup_step: 0,
    is_reg: False
    class_tokens: isa
    caption_extension: .txt

    [Dataset 0]
    loading image sizes.
    100%|███████████████████████████████████████████| 5/5 [00:00<00:00, 1393.09it/s]
    make buckets
    number of images (including repeats) / 各bucketの画像枚数(繰り返し回数を含む)
    bucket 0: resolution (512, 512), count: 25
    mean ar error (without repeats): 0.0
    preparing accelerator
    /home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/accelerate/accelerator.py:488: FutureWarning: torch.cuda.amp.GradScaler(args...) is deprecated. Please use torch.amp.GradScaler('cuda', args...) instead.
    self.scaler = torch.cuda.amp.GradScaler(**kwargs)
    /home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/accelerate/accelerator.py:488: FutureWarning: torch.cuda.amp.GradScaler(args...) is deprecated. Please use torch.amp.GradScaler('cuda', args...) instead.
    self.scaler = torch.cuda.amp.GradScaler(**kwargs)
    loading model for process 0/2
    load StableDiffusion checkpoint: /home/kratertepesi/ComfyUI/models/checkpoints/epicrealism_naturalSinRC1VAE.safetensors
    UNet2DConditionModel: 64, 8, 768, False, False
    loading u-net: <All keys matched successfully>
    loading vae: <All keys matched successfully>
    Using the SDPA attention implementation on multi-gpu setup with ROCM may lead to performance issues due to the FA backend. Disabling it to use alternative backends.
    [rank0]: Traceback (most recent call last):
    [rank0]: File "/home/kratertepesi/ComfyUI/custom_nodes/Lora-Training-in-Comfy/sd-scripts/train_network.py", line 1012, in <module>
    [rank0]: trainer.train(args)
    [rank0]: File "/home/kratertepesi/ComfyUI/custom_nodes/Lora-Training-in-Comfy/sd-scripts/train_network.py", line 228, in train
    [rank0]: model_version, text_encoder, vae, unet = self.load_target_model(args, weight_dtype, accelerator)
    [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    [rank0]: File "/home/kratertepesi/ComfyUI/custom_nodes/Lora-Training-in-Comfy/sd-scripts/train_network.py", line 102, in load_target_model
    [rank0]: text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator)
    [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    [rank0]: File "/home/kratertepesi/ComfyUI/custom_nodes/Lora-Training-in-Comfy/sd-scripts/library/train_util.py", line 3917, in load_target_model
    [rank0]: text_encoder, vae, unet, load_stable_diffusion_format = _load_target_model(
    [rank0]: ^^^^^^^^^^^^^^^^^^^
    [rank0]: File "/home/kratertepesi/ComfyUI/custom_nodes/Lora-Training-in-Comfy/sd-scripts/library/train_util.py", line 3860, in _load_target_model
    [rank0]: text_encoder, vae, unet = model_util.load_models_from_stable_diffusion_checkpoint(
    [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    [rank0]: File "/home/kratertepesi/ComfyUI/custom_nodes/Lora-Training-in-Comfy/sd-scripts/library/model_util.py", line 1072, in load_models_from_stable_diffusion_checkpoint
    [rank0]: info = text_model.load_state_dict(converted_text_encoder_checkpoint)
    [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    [rank0]: File "/home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/torch/nn/modules/module.py", line 2215, in load_state_dict
    [rank0]: raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
    [rank0]: RuntimeError: Error(s) in loading state_dict for CLIPTextModel:
    [rank0]: Unexpected key(s) in state_dict: "text_model.embeddings.position_ids".
    W0915 23:13:22.114000 125061742256448 torch/distributed/elastic/multiprocessing/api.py:858] Sending process 295030 closing signal SIGTERM
    E0915 23:13:22.228000 125061742256448 torch/distributed/elastic/multiprocessing/api.py:833] failed (exitcode: 1) local_rank: 0 (pid: 295029) of binary: /home/kratertepesi/ComfyUI/venv/bin/python
    Traceback (most recent call last):
    File "<frozen runpy>", line 198, in _run_module_as_main
    File "<frozen runpy>", line 88, in _run_code
    File "/home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/accelerate/commands/launch.py", line 1116, in <module>
    main()
    File "/home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/accelerate/commands/launch.py", line 1112, in main
    launch_command(args)
    File "/home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/accelerate/commands/launch.py", line 1097, in launch_command
    multi_gpu_launcher(args)
    File "/home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/accelerate/commands/launch.py", line 734, in multi_gpu_launcher
    distrib_run.run(args)
    File "/home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/torch/distributed/run.py", line 892, in run
    elastic_launch(
    File "/home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/torch/distributed/launcher/api.py", line 133, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/kratertepesi/ComfyUI/venv/lib/python3.12/site-packages/torch/distributed/launcher/api.py", line 264, in launch_agent
    raise ChildFailedError(
    torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
    ============================================================
    /home/kratertepesi/ComfyUI/custom_nodes/Lora-Training-in-Comfy/sd-scripts/train_network.py FAILED
    ------------------------------------------------------------
    Failures:
    <NO_OTHER_FAILURES>
    ------------------------------------------------------------
    Root Cause (first observed failure):
    [0]:
    time : 2024-09-15_23:13:22
    host : msi
    rank : 0 (local_rank: 0)
    exitcode : 1 (pid: 295029)
    error_file: <N/A>
    traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
    ============================================================
    1 ...
  4. 28.
  5. chatgpt bu sorunu benim için 5 dk da halletti, custom_nodes teki 4000 satırlık kodu paylaştıktan sonra. utils ve train.py den.
    1 ...
  6. 29.
  7. sizin kavramakta zorlandığınız yeni bir yazılım sahasında, ben onlarca hatayı tek seferde çözdüm, model eğitimini python la basit birkaç kodla sınırlandırdım. tüm bu satırların ne anlam ifade ettiğini, kornia, torchvision, xformers, transformers gibi kütüphaneleri, çalışma mantıklarını da öğrendim.

    from pathlib import Path
    import subprocess

    # Dosya yollarını tanımla
    pretrained_model_path = Path("/home/kratertepesi/ComfyUI/models/Stable-diffusion/sd-v1-4.ckpt")
    train_data_dir = Path("/home/kratertepesi/veri/5_isa")
    output_dir = Path("/home/kratertepesi")

    # Komutu oluştur
    command = [
    "python",
    "/home/kratertepesi/ComfyUI/custom_nodes/Lora-Training-in-Comfy/train.py",
    f"--num_cpu_threads_per_process=16",
    f"--pretrained_model_name_or_path={pretrained_model_path}",
    f"--train_data_dir={train_data_dir}",
    f"--resolution=512,512",
    f"--output_dir={output_dir}",
    f"--use_8bit_adam",
    f"--xformers",
    f"--logging_dir=",
    f"--network_module=networks.lora",
    f"--text_encoder_lr=5e-5",
    f"--unet_lr=1e-3",
    f"--network_dim=8",
    f"--output_name=wny",
    f"--learning_rate=1e-5",
    f"--lr_scheduler=kosinüs",
    f"--lr_warmup_steps=70",
    f"--train_batch_size=1",
    f"--max_train_steps=700",
    f"--save_every_n_epochs=1",
    f"--mixed_precision=fp16",
    f"--save_precision=fp16",
    f"--seed=1234",
    f"--cache_latents",
    f"--max_data_loader_n_workers=1",
    f"--fp8_base"
    ]

    # Komutu çalıştır
    subprocess.run(command, check=True)

    bir diğer örnek:

    import os
    import PIL
    import torch
    from torch.utils.data import Dataset, DataLoader
    from transformers import CLIPTextModel, CLIPTokenizer
    from peft import get_peft_model, LoraConfig
    from diffusers import UNet2DConditionModel, StableDiffusionPipeline
    from transformers import TrainingArguments, Trainer

    # ROCm GPU bellek ayarları
    os.environ['PYTORCH_HIP_ALLOC_CONF'] = 'expandable_segments:True'

    # GPU cihazını seç
    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

    class CustomDataset(Dataset):
    def __init__(self, img_dir, txt_dir):
    self.img_dir = img_dir
    self.txt_dir = txt_dir
    self.img_files = sorted([f for f in os.listdir(img_dir) if f.endswith('.png'))
    self.txt_files = sorted([f for f in os.listdir(txt_dir) if f.endswith('.txt'))

    def __len__(self):
    return len(self.img_files)

    def __getitem__(self, idx):
    img_path = os.path.join(self.img_dir, self.img_files[idx])
    txt_path = os.path.join(self.txt_dir, self.txt_files[idx])
    with open(txt_path, 'r') as file:
    caption = file.read()
    image = PIL.Image.open(img_path).convert("RGB")
    return image, caption

    def main():
    model_name = "epicrealismXL_v8Kiss.safetensors"
    model_dir = "/home/kratertepesi/ComfyUI/models/checkpoints/"

    # Model ağırlık dosyalarının bulunduğu dizin
    model_path = os.path.join(model_dir, model_name)

    # Modeli yükle
    if not os.path.isfile(model_path):
    raise FileNotFoundError(f"Model file {model_name} not found in {model_dir}")

    # Ağırlıkları doğrudan yükle
    unet = UNet2DConditionModel.from_pretrained(model_path)
    text_encoder = CLIPTextModel.from_pretrained(model_path)
    tokenizer = CLIPTokenizer.from_pretrained(model_path) # Tokenizer yükle, eğer varsa
    pipe = StableDiffusionPipeline(unet=unet, text_encoder=text_encoder, tokenizer=tokenizer)

    pipe = pipe.to(device)

    # Lora konfigürasyonunu ayarla
    lora_config = LoraConfig(
    base_model=pipe.unet,
    target_modules=["cross_attention"], # Hedef modülleri kontrol edin
    lora_alpha=32,
    lora_dropout=0.1
    )

    lora_model = get_peft_model(pipe.unet, lora_config)

    # Eğitim ayarlarını yapın
    training_args = TrainingArguments(
    output_dir="./results",
    per_device_train_batch_size=2,
    num_train_epochs=3,
    logging_dir="./logs",
    logging_steps=10,
    )

    # Eğitim veri kümesini oluştur
    dataset = CustomDataset(img_dir="/home/kratertepesi/veri/", txt_dir="/home/kratertepesi/veri/")
    dataloader = DataLoader(dataset, batch_size=training_args.per_device_train_batch_size, shuffle=True)

    # Trainer'ı oluştur
    trainer = Trainer(
    model=lora_model,
    args=training_args,
    train_dataset=dataset
    )

    # Modeli eğit
    trainer.train()

    if __name__ == "__main__":
    main()
    1 ...
  8. 30.
  9. zaten llm'lerin özelliği "işini hiç bilmeyen adama, ücretsiz biçimde yol göstermek". uzmanına değil. internetten topladığı, derlediği (çaldığı?) bilgilerden soru cevap sistemleri üretiyor. kendi bir icatlar, sentezler yapmıyor.

    milyon tane uzmanlık var. güreş, bisiklet tamirciliği, ortaçağ felsefesi, eklembacaklılar say sayabildiğin kadar. sorsan hepsi konusunda bilgisi var, ama "uzmanı seviyesinde" bilgisi yok. yazılımcı olmayan bir kişiye sorunca asal sayıları bulan python programını yazması çok etkileyici gelebilir, ama bana hiç etkileyici gelmiyor, bir işime de yaramıyor.

    nvidia meselesine gelince. bu firma gpu üreticisi. gpu adı üstüne "graphics processing unit". gerçekçi oyun grafikleri hızlı matris işlemlerine gerek duyuyor. son zamanlarda keşfedilen derin öğrenme sistemleri de hızlı matris işlemlerine gerek duyduğu için kıymete bindi. yoksa yapay zekayla, derin öğrenmeyle, llm'le ilişkisi ve katkısı anca o kadar.
    1 ...
  10. 31.
  11. 32.
  12. zaten llm'lerin özelliği "işini hiç bilmeyen adama, ücretsiz biçimde yol göstermek". uzmanına değil.
    https://www.youtube.com/watch?v=mOfnoyml9Js
    milyon dolarlık bilgisayar oyunlarının, karmakarışık fizik hesaplamaları, sayısız animasyon, çarpışma mekaniği gerektiren kodları bile github da arkadaşım ne anlatıyorsun sen, sıfırdan kendi browser ını, oyun motorunu bile geliştirebilirsin, koca rockstar ın gta 3 ü bile if else lerden ibaret, hiç açıp baktın mı?

    başlangıçta temiz kod anlayışı yok.

    oop bile yarım yamalak.

    yani zamanla bu seviyeye erişmişler.

    uzmanlık, zaman ve tecrübe gerektiren bir şey değil mi?

    zaman ayırdığın şey de doğal olarak bir miktar uzmanlaşırsın. bu alelade bir konuda olabilir. fakat bu durum bilgi birikimini de kıymete bindirecektir.

    asıl işin o olmadığı halde, o işi icra eden tembel insanlardan daha meraklı, daha azimli olman pekala mümkün. bunun sana zararı olmaz.
    1 ...
  13. 33.
  14. yazılım kendi içinde bin tane fraksiyona ayrılıyor, hangi konuda uzmansın java spring hibernate frameworkleri mi, javascript mi, gui tasarımında mı, backend ve database de mi? c++ ve c ile mi iyi geçiniyorsun, c# ve python la mı? windows ortamında mı, linuxta mı çalışıyorsun? yapay zekayla mı ilgileniyorsun? yoksa oyun motorlarıyla mı? e-ticaret ve seo işlemi alanında mı uzmansın, yoksa diğer dallarda mı?

    yazılım da kendi içinde dahiliye, psikiyatri v.s. gibi zibilyon tane alana ayrılmış, istesen de her bir dalda uzmanlaşamazsın.

    en fazla genel geçer fikir ve bilgi sahibi olabilirsin. dolayısıyla henüz uzmanlaşmadığın bir konu olan, pytorch, rocm platformu ve ortamı konusunda benden daha fazla bir şey bildiğini zannetmiyorum arkadaşım.

    benim kadar hata alıp, hepsini çözmekle uğraşmadın, sürece hakim değilsin. fakat iş başvurularında sıfır bilgine rağmen seni alırlar, o da ayrı bir konu.
    1 ...
  15. 34.
  16. çok mu merak ettin? 1996'den beri kesintisiz bilgisayar mühendisi olarak çalışıyorum. arada yüksek bilgisayar mühendisi oldum. heves ettim şu an da bilgisayar mühendisliği doktora tez aşamasındayım. diplomalısı, alaylısı, plazalısı, akademisyeni, obi subayı herkesle çalıştım. gözlemlerime ve tecrübelerime göre chatgpt ürettiğimiz yazılımlara 0 (sıfır) katkı sağlayabilecek seviyede. yazılım sektörünü bitirdiğini falan da düşünmüyorum.

    bak millet ısrarla sormuş. sen necisin? "koca rockstar ın gta 3 ü bile if else lerden ibaret" gibi abuk subuk bir cümle kurup yazılımcılık hakkında ahkam kesebiliyorsun?
    2 ...
  17. 35.
  18. bence çok da uzak olmayan bir gelecekte bütün işlerinin
    yapay zeka tarafından kolayca yapılacağı bir meslek grubuna yönelik tespit. dolayısıyla doğru olabilir.
    0 ...
© 2025 uludağ sözlük