主頁 >  其他 > ML-Agents命令及配置大全

ML-Agents命令及配置大全

2021-11-04 12:29:07 其他

關于ML-Agents插件的入門,請查看我前面的博文: Unity強化學習之ML-Agents的使用

本文內容基于ML-Agents的官方檔案:Training ML-Agents以及Training Configuration File

參考文章:ML-Agents(七)訓練指令與訓練組態檔

ML-Agents命令

查看所有的命令:

mlagents-learn --help

訓練的基本命令是:

mlagents-learn <trainer-config-file> --env=<env_name> --run-id=<run-identifier>
  • <trainer-config-file>是訓練器配置 YAML 的檔案路徑,里面包含所有超引數值,<env_name>(可選)是包含要訓練的代理的Unity 可執行檔案的名稱(包括路徑) ,如果不寫,則訓練將在編輯器中進行,<run-identifier> 是一個唯一的名稱,主要用于命名保存的訓練模型、統計資訊以及模型名稱,訓練程序產生的檔案都保存在results/<run-identifier>檔案夾中,

  • –curriculum=<file>*:如果你的訓練是Curriculum Learning*,這個命令可以指定你要訓練的課程組態檔,官方也有一個示例(Wall Jump)專門展示了 Curriculum Learning這種訓練型別,這里我們之后的文章再去深入研究,

  • –lesson=<n>:指定在執行Curriculum Learning時要開始的課程,默認為0,

  • –sampler=<file>:用于指定訓練環境的可變引數的組態檔,具體內容可以看ML-Agents(四)3DBall補充の引入泛化,

  • –save-freq=<n>:指定在訓練程序中保存模型的頻率,默認為50000,

  • –keep-checkpoints=<n>:指定了要保存模型的檢查點的最大數量,該屬性與上面的*–save-freq=<n>*有命令關,即在n步后,會記錄一個檢查點,此外,新的檢查點形成,會使得老的檢查點洗掉,默認存5個檢查點,,

  • –num-envs=<n>:指定在訓練時,從幾個Unity環境實體中收集資料,默認為1,當然如果是發布的程式,你就可以多開幾個程式讓訓練資料更多,

  • –seed=<n>:指定一個數字作為訓練代碼使用的亂數生成器的seed,

  • –env-args=<string>*:為可執行程式傳參,具體給Unity傳參可以參考官方檔案Unity Command Line Arguments,例如,命令mlagents-learn config/trainer_config.yaml --env-args --num-orcs 42會將–num-ors 42*傳遞給可執行檔案,

  • –base-port:指定啟動的埠,用于多個Unity程式連接會依次分配一個埠,默認是5005,當然我們之前都是直接使用IDE進行訓練的,所以這一項直接可以忽略,

  • –inference:指定是否僅在推理模式下運行,這種模式會忽略對對模型的訓練,要加載現有的訓練模型,需要結合*–reusme*以及run-id來使用,

  • –resume:如果設定這一項,則訓練代碼會在訓練前加載已經訓練好的模型去初始化神經網路,訓練代碼會在*models/<run-id>*目錄下查找訓練模型,這個選項僅在模型存在且具有與場景中當前代理相同的行為名稱(Behavior Name)時才有效,

  • –force:當要使用之前已經使用過的run-id來訓練模型會拋出錯誤,適用–force來強制覆寫原有id的資料模型和資料統計,

  • –initialize-form=<run-identifier>:指定一個已存在的訓練模型來初始化新的訓練模型,但是注意,當前的訓練環境行為引數要與之前保存的訓練模型引數相同才可以,

  • –no-graphics:指定Unity以-batchmode運行,并且不初始化圖形驅動程式,當然注意只適用于訓練中不涉及視覺觀察(Observations,讀取像素訓練),關于Unity不利用GPU運行請查看這里Unity官方檔案,

  • –debug:此選項可以輸出代碼某些部分的除錯代碼日志,

  • –cpu:強制只使用CPU訓練,

  • Unity設定:

  • –width:Unity運行時視窗的寬度,單位像素,默認84(IDE訓練可忽略),

  • –height:有width,就有height,與上相同,指高度,默認84,同樣IDE訓練可忽略,

  • –quality-level:設定Unity的QualitySettings.SetQualityLevel屬性,即畫面質量,默認為5,

  • –time-scale:設定Unity的Time.timeScale屬性,即游戲時間縮放比例,默認為20,最大為100,下次試試把這個值調大一些,是否可以加快訓練速度,

  • –target-frame-rate:設定Unity的Application.targetFrameRate,即設定游戲幀率,默認為-1,即不設定,一般為60幀每秒,


ML-Agents配置

引數配置

在組態檔YAML檔案中,你可以添加以下引數:

環境設定:

env_settings:
  env_path: FoodCollector
  env_args: null
  base_port: 5005
  num_envs: 1
  seed: -1
  max_lifetime_restarts: 10
  restarts_rate_limit_n: 1
  restarts_rate_limit_period_s: 60

引擎設定:

engine_settings:
  width: 84
  height: 84
  quality_level: 5
  time_scale: 20
  target_frame_rate: -1
  capture_frame_rate: 60
  no_graphics: false

檢查點設定:

checkpoint_settings:
  run_id: foodtorch
  initialize_from: null
  load_model: false
  resume: false
  force: true
  train_model: false
  inference: false

Torch設定:

torch_settings:
  device: cpu

所有功能展示(基于PPO)

如果我們使用了所有的訓練功能的PPO演算法(包含記憶,行為克隆,好奇心,GAIL和self-play),組態檔應該這樣寫(自己靈活選擇功能):

behaviors:
  BehaviorPPO:
    trainer_type: ppo

    hyperparameters:
      # Hyperparameters common to PPO and SAC
      batch_size: 1024
      buffer_size: 10240
      learning_rate: 3.0e-4
      learning_rate_schedule: linear

      # PPO-specific hyperparameters
      # Replaces the "PPO-specific hyperparameters" section above
      beta: 5.0e-3
      beta_schedule: constant
      epsilon: 0.2
      epsilon_schedule: linear
      lambd: 0.95
      num_epoch: 3

    # Configuration of the neural network (common to PPO/SAC)
    network_settings:
      vis_encode_type: simple
      normalize: false
      hidden_units: 128
      num_layers: 2
      # memory
      memory:
        sequence_length: 64
        memory_size: 256

    # Trainer configurations common to all trainers
    max_steps: 5.0e5
    time_horizon: 64
    summary_freq: 10000
    keep_checkpoints: 5
    checkpoint_interval: 50000
    threaded: false
    init_path: null

    # behavior cloning
    behavioral_cloning:
      demo_path: Project/Assets/ML-Agents/Examples/Pyramids/Demos/ExpertPyramid.demo
      strength: 0.5
      steps: 150000
      batch_size: 512
      num_epoch: 3
      samples_per_update: 0

    reward_signals:
      # environment reward (default)
      extrinsic:
        strength: 1.0
        gamma: 0.99

      # curiosity module
      curiosity:
        strength: 0.02
        gamma: 0.99
        encoding_size: 256
        learning_rate: 3.0e-4

      # GAIL
      gail:
        strength: 0.01
        gamma: 0.99
        encoding_size: 128
        demo_path: Project/Assets/ML-Agents/Examples/Pyramids/Demos/ExpertPyramid.demo
        learning_rate: 3.0e-4
        use_actions: false
        use_vail: false

    # self-play
    self_play:
      window: 10
      play_against_latest_model_ratio: 0.5
      save_steps: 50000
      swap_steps: 2000
      team_change: 100000

SAC部分展示

如果使用的是SAC而不是PPO演算法,只需要做簡單的修改:

behaviors:
  BehaviorSAC:
    trainer_type: sac
    hyperparameters:
      # SAC-specific hyperparameters
      # Replaces the "PPO-specific hyperparameters" section above
      buffer_init_steps: 0
      tau: 0.005
      steps_per_update: 10.0
      save_replay_buffer: false
      init_entcoef: 0.5
      reward_signal_steps_per_update: 10.0

     # 下面內容相同

配置說明

batch_size:一次性抽取多少條資料樣本一起訓練,連續動作空間推薦:512-5120,離散動作空間推薦:32-512

buffer_size:經驗池容量,推薦:2048-409600

epsilon:影響策略在訓練程序中的成型速度,對應新舊策略之間可接受的差異閾值,較小有較穩定的穩定,但會減慢訓練程序,推薦:0.1-0.3

init_entcoef:在訓練開始時,agent應該探索多深,

learning_rate:學習率,資料更新強度,訓練不穩定應降低該值,推薦:1e-5-1e-3

learning_rate_Schedule:對應于學習率如何隨時間變化,逐漸降低學習速率可以更穩定收斂,linear指線性衰減,maxSteps達到0,constant不衰減,

max_steps:每一個episode執行的最大步數,推薦:5e5-1e7

normalize:是否自動標準化觀測值,這對于復雜連續控制問題很有用,但對于簡單離散控制可能反而有害,

behavioral_cloning:使用演示引導神經網路的策略,strength:模仿學習的學習率,推薦:0.1-0.5,demo_path:是.demo檔案的路徑,Steps:對應于激活BC的步驟,,BC的學習率隨步驟逐步提高,設定為0會在整個訓練程序中持續模仿,

save_replay_buffer:退出訓練時保存到回放緩沖區,并在恢復時加載,

summary_freq:設定多久一次保存統計資料,主要決定了在tensorboard中顯示資料點的數值,

time_horizon:在將每個agent添加到經驗緩沖池之前,需要經過多少步訓練,推薦:32-2048

train_interval:更新智能體的頻率,

use_recurrent:是否使用回圈神經網路,以下引數在use_recurrent為true時使用,sequence_length:訓練中通過網路傳遞的經驗序列的長度,較大的值可以記住較長時間的資訊,推薦:4-128,memory_size:對應了存盤策略的回圈神經網路隱藏狀態的浮點數陣列大小,必須是2的倍數,并且與期望agent成功完成任務所需記住的資訊量成比例,推薦:32-256

Reward Signals:在強化訓練中,目標就是要學習一種是獎勵最大化的策略,在基礎層面上將來是由環境給出的,然而我們很可能遇到鼓勵探索的agent,我們可以讓agent探索新的狀態而獲得獎勵,而不是僅僅給予明確的獎勵;我們還可以使用混合獎勵信號來幫助學習程序,使用reward_signals可以定義獎勵信號,ML-Agents默認提供三種獎勵信號:外部獎勵信號(環境給予)、好奇心獎勵信號(鼓勵探索)、GAIL獎勵信號(對抗模仿學習),

lambd:agents更新估計值時依賴于當前值的多少,趨近于1時則靠近更新值,趨近于0靠近當前的估計值,推薦:0.9-0.95

num_epoch:梯度下降程序中通過經驗池的次數,batch_size越大它可以設定得越大,減小該值可以確保更新穩定,但降低學習速率,推薦:3-10

num_layer:觀察值輸入后或CNN之后存在的隱藏層的數量,復雜的問題需要更多的層,推薦:1-3

hidden_units:對應神經網路每個全連接層有多少個單元,推薦:32-512

vis_encode_type:對應于可視化觀測進行編碼的編碼器型別,選項包含:simple(默認):兩個卷積層組成的簡單編碼器,nature_cnn:三個卷積層組成,詳見https://www.nature.com/articles/nature14236,resnet:由三個堆疊的層構成,是比其他兩個更大的網路,詳見https://arxiv.org/abs/1802.01561,

init_path:指定在開始訓練之前訓練的模型,注意以前的模型的訓練配置需要與當前運行的相同,并且使用相同版本的ML-Agents保存,同時要提供全路徑存盤,

reward_signal_num_update:對應于每次更新程序中采樣并用于更新獎勵信號的小批量數,默認在每次主policy更新時都會更新一次獎勵信號,但為了模仿某些論文中的訓練程序,我們需要更新N次策略,然后將獎勵信號(GAIL)更新M次,此時我們可以將SAC的train_interval和num_update設定為N,將reward_signals下的reward_signal_num_update設定為M,默認其值為num_update,

buffer_init_steps訓練之前預填充經驗池的資料量,未經訓練的策略是隨機的,用隨機動作預填充對于探索十分有用,

num_update:每個訓練時間期間采樣并用于訓練的最小批量數,通常情況下,該值為1,

tau:SAC模型更新期間目標Q網路更新的快慢,因為存在Q和Target Q兩個網路,每隔一段時間需要對Target Q進行更新,推薦:0.005-0.01

strength:原始獎勵的倍乘系數,范圍根據獎勵信號變化,推薦:1.0

gamma:對應未來獎勵的折扣因子,推薦:0.8-0.995

好奇心獎勵信號:包括正向模型:采用當前已編碼的觀測值和動作,預測下一個已編碼的觀測值,逆向模型:采用agent的當前和下一個觀測值,對它們進行編碼,并使用編碼來預測觀測值之間采取的動作,正向模型的損失(預測值和實際值之間的差異)被用作內在獎勵,

encoding_size:好奇心模塊使用的編碼大小,該值足夠小可以鼓勵ICM壓縮原始的觀察值,但太小也會導致ICM學習區分輸出的行為和實際的行為,推薦:64-256

GAIL:即生成對抗模仿學習,和GANs類似,對于strength的設定取決于人的水平,人的演示很好這個值設高一點,推薦:0.01-1,

use_actions:鑒別器是根據觀察和操作進行區分,還是僅僅根據觀察值進行區分,如果希望agent模仿操作,則應該設為true,如果希望agent使用不同的操作達到相同的狀態,則設為false,設為false更加穩定,特別是演示不完美的情況下,但學習速度較慢,

use_vail:是鑒別器學習一種更籠統的表示,降低了其在鑒別方面的過擬合,使學習更加穩定,但也會增加訓練時間,如果模仿學習不成功,可以啟用這個功能,


環境引數

為了控制環境引數,可以在下方再加上一段配置:

behaviors:
  BehaviorY:
    # < Same as above >

# Add this section
environment_parameters:
  my_environment_parameter: 3.0

然后再Unity仿真中,可以通過以下方式訪問引數:

Academy.Instance.EnvironmentParameters.GetWithDefault("my_environment_parameter", 0.0f);

為了使引數隨機,我們可以不直接提供數值,而是讓它自己采樣,下面是包含三個環境引數的示例:

behaviors:
  BehaviorY:
    # < Same as above >

# Add this section
environment_parameters:
  mass:
    sampler_type: uniform
    sampler_parameters:
        min_value: 0.5
        max_value: 10

  length:
    sampler_type: multirangeuniform
    sampler_parameters:
        intervals: [[7, 10], [15, 20]]

  scale:
    sampler_type: gaussian
    sampler_parameters:
        mean: 2
        st_dev: .3

其中uniform是統一采樣器,從給定最大值和最小值的范圍中采樣,gaussian是高斯采樣器,給定均值和標準差從正態分布中采樣,multirange_uniform是多范圍均勻采樣,根據區間的相對長度從一組區間中采用一個區間,從這個區間中統一采樣一個單浮點值,

在3DBall的第二個組態檔中有這個用法,

定義采樣器配置后,輸入回應命令可以啟用引數隨機化的訓練器配置(如下):

mlagents-learn config/ppo/3DBall_randomize.yaml --run-id=3D-Ball-randomize

Curriculum Learning

如果想啟用課程學習,需要添加一段配置:

ehaviors:
  BehaviorY:
    # < Same as above >

# Add this section
environment_parameters:
  my_environment_parameter:
    curriculum:
      - name: MyFirstLesson # The '-' is important as this is a list
        completion_criteria:
          measure: progress
          behavior: my_behavior
          signal_smoothing: true
          min_lesson_length: 100
          threshold: 0.2
        value: 0.0
      - name: MySecondLesson # This is the start of the second lesson
        completion_criteria:
          measure: progress
          behavior: my_behavior
          signal_smoothing: true
          min_lesson_length: 100
          threshold: 0.6
          require_reset: true
        value:
          sampler_type: uniform
          sampler_parameters:
            min_value: 4.0
            max_value: 7.0
      - name: MyLastLesson
        value: 8.0

name是用戶定義的課程名稱,completion_criteria決定了需要模擬的世間,當滿足條件是課程轉到下一個lessons,value就是環境引數在課程中需要采用的值,

measure是衡量學習進度和課程進展的依據,behavior指定正在跟蹤的行為,可以有多個名稱不同的行為,每個行為處于不同的訓練點,此設定允許課程僅跟蹤其中之一,threshold確定在measure的哪里增加課程的值,

min_lesson_length指的是更改課程之前應完成的最少episode數,如果measure設定為rewardmin_lesson_length將使用最后一集的平均累積獎勵來確定課程是否應該更改,必須是非負的,重要提示:與閾值比較的平均獎勵不同于記錄到控制臺的平均獎勵,例如,如果min_lesson_length100,則在最后一100集的平均累積獎勵超過當前閾值后,課程將增加,記錄到控制臺的平均獎勵由summary_freq上面定義的引數決定,

signal_smoothing決定是否按以前的值對當前進度度量進行加權,

require_reset決定更改課程是否需要重置環境(默認:false),

一旦我們指定了我們的元課程和課程,我們就可以啟動 mlagents-learn指向包含我們課程的組態檔,PPO 將使用課程學習進行訓練,例如,要通過課程學習在 Wall Jump 環境中訓練智能體,我們可以運行:

mlagents-learn config/ppo/WallJump_curriculum.yaml --run-id=wall-jump-curriculum

后記

對于上面的命令不理解的不用著急,ML-Agents提供了一系列實體來演示大部分的功能,后面會一一開文章進行講解,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/347223.html

標籤:其他

上一篇:【JAVA GUI】貪吃蛇小游戲「內含代碼」

下一篇:Unity強化學習之ML-Agents的使用

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more