embeded/Cortex-M4 STM2026. 6. 19. 14:58

BOOT1 이라고 오른쪽 중간에 있는 곳을 잘 보면

BOOT0가 있는데 그걸 좌측 세번째 X3 crystal 근처의 3V 와 연결(pull up)

 

우측의 SDRAM 이라고 써있는 근처에 PA9 PA10를 USB TTL UART에 적당히~ 연결해주면 끝

[링크 : https://www.st.com/resource/en/user_manual/um1670-discovery-kit-with-stm32f429zi-mcu-stmicroelectronics.pdf]

 

잘 읽네. 그런데 속도 못 올리나.. 쩝..

$ stm32flash /dev/ttyUSB0 
stm32flash 0.5

http://stm32flash.sourceforge.net/

Interface serial_posix: 57600 8E1
Version      : 0x31
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0419 (STM32F42xxx/43xxx)
- RAM        : Up to 192KiB  (12288b reserved by bootloader)
- Flash      : Up to 2048KiB (size first sector: 1x16384)
- Option RAM : 65552b
- System RAM : 30KiB

 

$ stm32flash -r dump.bin /dev/ttyUSB0 
stm32flash 0.5

http://stm32flash.sourceforge.net/

Interface serial_posix: 57600 8E1
Version      : 0x31
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0419 (STM32F42xxx/43xxx)
- RAM        : Up to 192KiB  (12288b reserved by bootloader)
- Flash      : Up to 2048KiB (size first sector: 1x16384)
- Option RAM : 65552b
- System RAM : 30KiB
Memory read
Read address 0x08052100 (16.03%) ^C

 

'embeded > Cortex-M4 STM' 카테고리의 다른 글

stm32_programmer_cli 를 이용한 option byte 변경  (0) 2026.03.19
NUCLEO-WL55JC  (0) 2026.03.17
stm32g473 ART accelerator on/off ?  (0) 2026.02.06
stm32g473 flash doubleword  (0) 2026.02.04
STM32G47x dual bank flash  (0) 2026.02.03
Posted by 구차니
embeded/robot2026. 6. 19. 11:40

좌표는 mm 단위인가?

mycobot_280 mycobot_320

 

atom 버튼 누르면 release_all_servos() 를 실행하고

damping 모드 되어있으면 팔이 떨어지진 않을것 같으니 원하는대로 옮기고

atom 버튼 떼면

get_angles() 나 get_coords() 해서 좌표 받고, power_on() 해서 서보 고정하고 끝.. 하면 좀 편하게 되려나?

### 1. System Status
#### `get_modify_version()`
#### `clear_queue()`
#### `check_async_or_sync()`
#### `get_system_version()`
#### `get_basic_version()`
#### `get_error_information()`
#### `clear_error_information()`
#### `get_reboot_count()`

### 2. Overall Status
#### `power_on()`
#### `power_off()`
#### `is_power_on()`
#### `release_all_servos()`
#### `focus_servo(servo_id)`
#### `is_controller_connected()`
#### `read_next_error()`
#### `get_fresh_mode()`
#### `set_fresh_mode()`
#### `set_free_mode()`
#### `is_free_mode()`
#### `focus_all_servos()`
#### `set_vision_mode()`

### 3.MDI Mode and Operation
#### `get_angles()`
#### `get_angles_plan()`
#### `send_angle(id, degree, speed)`
#### `send_angles(angles, speed)`
#### `get_coords()`
#### `get_coords_plan()`
#### `send_coord(id, coord, speed)`
#### `send_coords(coords, speed, mode)`
#### `pause()`
#### `sync_send_angles(angles, speed, timeout=15)`
#### `sync_send_coords(coords, speed, mode=0, timeout=15)`
#### `get_angles_coords()`
#### `is_paused()`
#### `resume()`
#### `stop()`
#### `is_in_position(data, flag)`
#### `is_moving()`
#### `angles_to_coords(angles)`
#### `solve_inv_kinematics(target_coords, current_angles)`
#### `drag_start_record()`
#### `drag_end_record()`
#### `drag_get_record_data()`
#### `drag_get_record_len()`
#### `drag_clear_record_data()`

### 4. JOG Mode and Operation
#### `jog_angle(joint_id, direction, speed)`
#### `jog_coord(coord_id, direction, speed)`
#### `jog_rpy(end_direction, direction, speed)`
#### `jog_increment_angle(joint_id, increment, speed)`
#### `jog_increment_coord(id, increment, speed)`
#### `set_encoder(joint_id, encoder, speed)`
#### `get_encoder(joint_id)`
#### `set_encoders(encoders, speed)`
#### `get_encoders()`

### 5. Running status and Settings
#### `get_joint_min_angle(joint_id)`
#### `get_joint_max_angle(joint_id)`
#### `set_joint_min(id, angle)`
#### `set_joint_max(id, angle)`

### 6. Joint motor control
#### `is_servo_enable(servo_id)`
#### `is_all_servo_enable()`
#### `set_servo_calibration(servo_id)`
#### `release_servo(servo_id)`
#### `focus_servo(servo_id)`
#### `set_servo_data(servo_id, data_id,  value, mode=None)`
#### `get_servo_data(servo_id, data_id, mode=None)`
#### `joint_brake(joint_id)`

### 7. 9g Servo
#### `move_round()`
#### `set_four_pieces_zero()`

### 8. Servo state value
#### `get_servo_speeds()`
#### `get_servo_voltages()`
#### `get_servo_status()`
#### `get_servo_temps()`

### 9. Robotic arm end IO control
#### `set_color(r, g, b)`
#### `set_digital_output(pin_no, pin_signal)`
#### `get_digital_input(pin_no)`
#### `set_pin_mode(pin_no, pin_mode)`

### 10. Robotic arm end gripper control
#### `set_gripper_state(flag, speed, _type_1=None)`
#### `set_gripper_value(gripper_value, speed, gripper_type=None)`
#### `gripper_stop()`
#### `set_gripper_calibration()`
#### `is_gripper_moving()`
#### `get_gripper_value()`
#### `set_pwm_output(channel, frequency, pin_val)`
#### `set_HTS_gripper_torque(torque)`
#### `get_HTS_gripper_torque()`
#### `get_gripper_protect_current()`
#### `set_gripper_protect_current(current)`
#### `init_gripper()`

### 11. Set bottom IO input/output status
#### `set_basic_output(pin_no, pin_signal)`
#### `get_basic_input(pin_no)`

### 12. WLAN Setting
#### `set_ssid_pwd(account, password)`
#### `get_ssid_pwd()`
#### `set_server_port(port)`

### 13. TOF
#### `get_tof_distance()`

### 14. Communication mode
#### `set_transponder_mode(mode)`
#### `get_transponder_mode()`

### 15. Cartesian space coordinate parameter setting
#### `set_tool_reference(coords)`
#### `get_tool_reference(coords)`
#### `set_world_reference(coords)`
#### `get_world_reference()`
#### `set_reference_frame(rftype)`
#### `get_reference_frame()`
#### `set_movement_type(move_type)`
#### `get_movement_type()`
#### `set_end_type(end)`
#### `get_end_type()`

### 16. Raspberry pi -- GPIO
#### `gpio_init()`
#### `gpio_output(pin, v)`

### 17. utils (module)
#### `utils.get_port_list()`
#### `utils.detect_port_of_basic()`

[링크 : https://github.com/elephantrobotics/pymycobot/blob/main/docs/MyCobot_280_en.md]

    [링크 : https://github.com/elephantrobotics/pymycobot]

 

Gcode 읽어서 그거대로 움직이는 예제가 demo로 있다.

[링크 : https://github.com/elephantrobotics/pymycobot/tree/main/demo/myCobot_280_demo[

 

'embeded > robot' 카테고리의 다른 글

elephant robotics mycobot 280 pi python 예제  (0) 2026.06.16
유니버셜 로봇 polyscope 5  (0) 2026.06.16
로봇 tcp 확인  (0) 2025.04.25
로봇 좌표계, TCP ... 2?  (0) 2024.09.02
elephantrobotics Mycobot-pi atom  (0) 2024.07.11
Posted by 구차니

하.. 갈길이 멀다 ㅠㅠ

patchcore는 cudnn만 꺼주면 어떻게 되는데

stfpm은 소스가 문제라 .. -_-

~/src/moviad/main_scripts$ python3 main_stfpm.py --train --eval     --model_name mobilenet_v2     --categories bottle     --ad_layers 3 4 5     --boot_layer 2     --results_dirpath debug_outputs/metrics     --checkpoint_dir debug_outputs/checkpoints     --seeds 0 --epochs 3 --input_size 224 224     --device cuda:0
ERROR:root:micromind not found in current environment
Traceback (most recent call last):
  File "/home/falinux/src/moviad/main_scripts/main_stfpm.py", line 12, in <module>
    from moviad.trainers.trainer_stfpm import train_param_grid_search
ImportError: cannot import name 'train_param_grid_search' from 'moviad.trainers.trainer_stfpm' (/home/falinux/src/moviad/moviad/trainers/trainer_stfpm.py)

 

$ git log
commit 5d547292f3e1e4402b91d2950b884be74a37900f (HEAD -> main, origin/main, origin/HEAD)
Author: FrancescoBorsatti <francesco.borsatti.1@phd.unipd.it>
Date:   Mon Apr 13 18:16:40 2026 +0200

    update readme

 

괜히 verified가 붙은게 아닌듯. 저 버전으로는 내려가야 한다. merge 하다가 꼬인듯.

[링크 : https://github.com/AMCO-UniPD/moviad/blob/5bf4b63a89a860ab3d76679fffe35ee50225901d/moviad/trainers/trainer_stfpm.py] 없음

[링크 : https://github.com/AMCO-UniPD/moviad/blob/ec89d3e145615c9c1fbae69480f7da2eb4f9c606/moviad/trainers/trainer_stfpm.py] 있음(verified)

[링크 : https://github.com/AMCO-UniPD/moviad/blob/a209ec364aba6f5f33be010af948a578af4971ce/moviad/trainers/trainer_stfpm.py] 있음

 

+

아래 커밋으로 이동해버리고(!)

git checkout ec89d3e145615c9c1fbae69480f7da2eb4f9c606

 

실행하면 안된다!

정해진 경로에 넣으란거지? -_-+

~/src/moviad/main_scripts$ python3 main_stfpm.py --train --eval     --model_name mobilenet_v2     --categories bottle     --ad_layers 3 4 5     --boot_layer 2     --results_dirpath debug_outputs/metrics     --checkpoint_dir debug_outputs/checkpoints     --seeds 0 --epochs 3 --input_size 224 224     --device cuda:0
ERROR:root:micromind not found in current environment
Training with params: {'dataset_path': '../../datasets/mvtec/', 'categories': ['bottle'], 'ad_layers': [[3, 4, 5]], 'epochs': [3], 'seeds': [0], 'batch_size': 64, 'backbone_model_name': 'mobilenet_v2', 'device': device(type='cuda', index=0), 'img_input_size': [224, 224], 'img_output_size': (224, 224), 'early_stopping': None, 'student_bootstrap_layer': [2], 'checkpoint_dir': 'debug_outputs/checkpoints', 'normalize_dataset': True, 'log_dirpath': None, 'contamination_ratio': None, 'test_dataset': False}
TRAIN | cat: bottle, ad_layers: [3, 4, 5], epochs: 3, seed: 0, early_stopping: None, bootstrap: 2
Traceback (most recent call last):
  File "/home/minimonk/src/moviad/main_scripts/main_stfpm.py", line 405, in <module>
    raise e
  File "/home/minimonk/src/moviad/main_scripts/main_stfpm.py", line 387, in <module>
    main(args)
  File "/home/minimonk/src/moviad/main_scripts/main_stfpm.py", line 86, in main
    trained_models_filepaths = train_param_grid_search(params)
  File "/home/minimonk/src/moviad/moviad/trainers/trainer_stfpm.py", line 321, in train_param_grid_search
    log, snapshot_path = train_param_grid_step(
  File "/home/minimonk/src/moviad/moviad/trainers/trainer_stfpm.py", line 209, in train_param_grid_step
    train_dataset.load_dataset()
  File "/home/minimonk/src/moviad/moviad/datasets/mvtec/mvtec_dataset.py", line 175, in load_dataset
    raise RuntimeError(msg)
RuntimeError: Found 0 images in ../../datasets/mvtec/bottle

'프로그램 사용 > yolo_tensorflow' 카테고리의 다른 글

ubuntu 26.04 + 3070 + tensorflow + python 3.14 + docker...  (0) 2026.06.17
STFPM 실행  (0) 2026.06.01
딥러닝 학습 관련(epoch, loss)  (0) 2026.05.27
NAS - Neural Architecture Search  (0) 2026.05.21
MCUNet  (0) 2026.05.21
Posted by 구차니

/v1/chat/completions 통해서 문맥을 유지할때 어떻게 구현되나 했더니

llama-swap 에서 대화내용을 보니 이해된다.

assistant에 ai 대답을 넣는다고만 해서 복수개면 어떻게 하나 했는데

 

UI 상으로는 이렇게 나오고

 

로그 상으로는 아래와 같이 나온다

1번 째 질문 "하이하이"

 

2번 쩨 질문 "엉 왜 refused"

그리고 이전 대화를 messages의 배열에 순서대로 넣으면

가장 마지막 대화를 기준으로 답을 주게 되는걸려나?

당연(?) 하지만 reasoning은 빼고 순수 응답 내용만 assistant에 넣어서 보낸다.

Posted by 구차니

변환해서 내꺼에서 돌려보니 성능 차이가 없...다?

내꺼 그래픽 카드가 구려서 그런가.. 그게 아니라면.. 변환을 잘못했다거나

llama.cpp 에서 지원은 안한다거나 그런건가?

 

  MTP x MTP 8 MTP 4 MTP 3 MTP 2 MTP 1
직접 61.1  18.6  40.9 58.4  55.6 61.7
unsloth 61.1   45.0  58.6  62.4  68.4 

 

-------

비교군

$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf  -sm none #--reasoning off                                                                                                   
...wnloads/llama-b9553/llama-cli       6435MiB
> 안녕?
[ Prompt: 105.7 t/s | Generation: 61.1 t/s ]

> 빨라?
[ Prompt: 51.1 t/s | Generation: 60.6 t/s ]

 

직접 변환(양자화 안함)

$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf --model-draft ./gemma-4-E4B-it-assistant/gemma-4-E4B-it-assistant.gguf --spec-type draft-mtp --spec-draft-n-max 8 -fit off -ngl 999 -fa on -sm none #--reasoning off
...wnloads/llama-b9553/llama-cli       6735MiB
> 안녕? 
[ Prompt: 101.1 t/s | Generation: 18.6 t/s ]

> 빨라?
[ Prompt: 351.2 t/s | Generation: 16.9 t/s ]

$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf --model-draft ./gemma-4-E4B-it-assistant/gemma-4-E4B-it-assistant.gguf --spec-type draft-mtp --spec-draft-n-max 4 -fit off -ngl 999 -fa on -sm none #--reasoning  off                                                                                                                   
...wnloads/llama-b9553/llama-cli       6735MiB
> 안녕?
[ Prompt: 292.5 t/s | Generation: 40.9 t/s ]

> 빨라?
[ Prompt: 207.7 t/s | Generation: 46.6 t/s ]


$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf --model-draft ./gemma-4-E4B-it-assistant/gemma-4-E4B-it-assistant.gguf --spec-type draft-mtp --spec-draft-n-max 3 -fit off -ngl 999 -fa on -sm none #--reasoning  off                                                                                                                   
...wnloads/llama-b9553/llama-cli       6735MiB
> 안녕? 
[ Prompt: 398.8 t/s | Generation: 58.4 t/s ]

> 빨라?
[ Prompt: 236.3 t/s | Generation: 60.9 t/s ]


$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf --model-draft ./gemma-4-E4B-it-assistant/gemma-4-E4B-it-assistant.gguf --spec-type draft-mtp --spec-draft-n-max 2 -fit off -ngl 999 -fa on -sm none #--reasoning off                                                                                                                   
...wnloads/llama-b9553/llama-cli       6735MiB
> 안녕?
[ Prompt: 360.7 t/s | Generation: 55.6 t/s ]

> 빨라?
[ Prompt: 284.9 t/s | Generation: 62.7 t/s ]

$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf --model-draft ./gemma-4-E4B-it-assistant/gemma-4-E4B-it-assistant.gguf --spec-type draft-mtp --spec-draft-n-max 1 -fit off -ngl 999 -fa on -sm none #--reasoning off                                                                                                                   
...wnloads/llama-b9553/llama-cli       6735MiB
> 안녕?
[ Prompt: 314.1 t/s | Generation: 61.7 t/s ]  

> 빨라?
[ Prompt: 441.2 t/s | Generation: 63.7 t/s ]

 

unsloth 모델

[링크 : https://huggingface.co/unsloth/gemma-4-E4B-it-GGUF]

$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf --model-draft ./gemma-4-E4B-it-assistant/mtp-gemma-4-E4B-it.gguf --spec-type draft-mtp --spec-draft-n-max 4 -fit off -ngl 999 -fa on -sm none #--reasoning off
...wnloads/llama-b9553/llama-cli       6666MiB
> 안녕?
[ Prompt: 42.4 t/s | Generation: 45.0 t/s ]

> 빨라?
[ Prompt: 302.6 t/s | Generation: 47.4 t/s ]


$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf --model-draft ./gemma-4-E4B-it-assistant/mtp-gemma-4-E4B-it.gguf --spec-type draft-mtp --spec-draft-n-max 3 -fit off -ngl 999 -fa on -sm none #--reasoning off
...wnloads/llama-b9553/llama-cli       6666MiB
> 안녕?
[ Prompt: 174.0 t/s | Generation: 58.6 t/s ]

> 빨라?
[ Prompt: 327.7 t/s | Generation: 60.2 t/s ]


$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf --model-draft ./gemma-4-E4B-it-assistant/mtp-gemma-4-E4B-it.gguf --spec-type draft-mtp --spec-draft-n-max 2 -fit off -ngl 999 -fa on -sm none #--reasoning off
...wnloads/llama-b9553/llama-cli       6666MiB
> 안녕?
[ Prompt: 98.5 t/s | Generation: 62.4 t/s ]

> 빨라?
[ Prompt: 331.4 t/s | Generation: 64.7 t/s ]  

$ /mnt/Downloads/llama-b9553/llama-cli --model /mnt/Downloads/model/gemma4-e4b/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma4-e4b/mmproj-F16.gguf --model-draft ./gemma-4-E4B-it-assistant/mtp-gemma-4-E4B-it.gguf --spec-type draft-mtp --spec-draft-n-max 1 -fit off -ngl 999 -fa on -sm none #--reasoning off
...wnloads/llama-b9553/llama-cli       6666MiB
> 안녕?
[ Prompt: 168.7 t/s | Generation: 68.4 t/s ]  


> 빨라?
[ Prompt: 343.2 t/s | Generation: 67.2 t/s ]

 

[링크 : https://huggingface.co/google/gemma-4-E4B-it-assistant]

Posted by 구차니

그런데 208 이던 228 이던

client.chat.completions.create 함수를

client.responses.create 로 바꾸었더니 prompt speed / gen speed가 출력되지 않는다.

reasoning off 하기 위해서는 함수를 바꾸어야 하고. 바꾸면 리포트가 안되고 흐음..

걍 서버에서 끄고 해야하나? (llama-cli --reasoning off)

 

'프로그램 사용 > ai 프로그램' 카테고리의 다른 글

llama-swap 구현 (채팅)  (0) 2026.06.18
gemma4-e4b mtp..?  (0) 2026.06.18
llama-swap 버전 업데이트!  (0) 2026.06.18
stable diffusion --device-id  (0) 2026.06.18
stable diffusion illustruousXL LoRA  (0) 2026.06.15
Posted by 구차니

208 에서 228로 올렸더니

 

1. config.yaml 의 명시적 사용

기존에는 config.yaml을 바로 가져가더니(llama-swap 과 동일 경로에서) 이제는 명시적으로 지정해주어야 한다.1

$ ./llama-swap 
2026/06/18 12:43:40 ERROR -config is required

$ ./llama-swap --help
Usage of ./llama-swap:
  -config string
     path to config file (required)
  -listen string
     listen address (default :8080 or :8443 for TLS)
  -tls-cert-file string
     TLS certificate file
  -tls-key-file string
     TLS key file
  -version
     show version and exit
  -watch-config
     reload config on file change

 

2. 모니터링 추가

performance 탭에서 그래프가 생긴것 같다. 오오 이쁜데?



Posted by 구차니

버전에 따라 안 먹는게 있는지 라고 하기에는

저번에 잘 한거 같기도 한데 잘 모르겠네

 

아무튼 아래처럼 바꾸어 주면 자로딘다.

./webui.sh --server-name=0.0.0.0 --device-id=1 --api --medvram
CUDA_VISIBLE_DEVICES=1 ./webui.sh --server-name=0.0.0.0 --api --medvram

 

일단 현재 버전(?)은 아래와 같은 상태.

저번에 확장 깔다가 꼬여서 1.7 버전이라고 받아둔걸로 했더니 안되는건가..

$ git history
commit 1937682a20f7f0442311a1ede68f9f0cb480163b (HEAD -> dev, origin/dev)
Merge: 76759a18 fd0f475a
Author: w-e-w <40751091+w-e-w@users.noreply.github.com>
Date:   Mon Mar 2 16:00:53 2026 +0900

    Merge pull request #17313 from WhizZest/fix-setuptools-version
    
    Fix the issue of `pip install 'setuptools<70'` failing in cmd

$ git branch
* dev
  master

$ git remote -v
origin  https://github.com/AUTOMATIC1111/stable-diffusion-webui.git (fetch)
origin  https://github.com/AUTOMATIC1111/stable-diffusion-webui.git (push)
Posted by 구차니

희망적으로

ai가 오히려 시간을 더 쓰고, 성과에 부정적 영향을 준다는 결과가 나오는게 좋을 것 같은데

 

부정적으로

ai가 성과가 좋다고 측정되면 어떤 피바람이 대한민국 일자리에 불게 될까..

 

[링크 : https://www.hani.co.kr/arti/economy/economy_general/1263902.html]

[링크 : https://v.daum.net/v/20260617051131276]

 

[링크 : https://n.news.naver.com/mnews/article/028/0002809989?sid=101]

[링크 : https://n.news.naver.com/mnews/article/028/0002809992?sid=101]

    [링크 : https://theqoo.net/square/4246805499]

 

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

PV5 첫 승차  (0) 2026.06.15
세상이 왜 이렇게 되었을까  (0) 2026.05.11
열풍기 잼나네  (6) 2026.04.20
쏘쏘  (0) 2026.04.15
금융치료  (0) 2026.04.14
Posted by 구차니

개발환경 구축하려고 이것저것 보고 있는데

구형 모델을 쓰려고 하다보니(ssd mobilenet v3) 영 환경 잡는것 자체가 쉽지 않아 보인다.

 

[링크 : https://www.tensorflow.org/install/docker?hl=ko] 텐서플로우 docker

[링크 : https://github.com/NVIDIA/nvidia-docker] 요건 deprecated

[링크 : https://github.com/NVIDIA/nvidia-container-toolkit] 요걸 쓰라고

 

tensorflow 2.21.0

2026.03.07 release

지원 파이썬 버전 3.13 최대.

[링크 : https://pypi.org/project/tensorflow/]

 

tensorflow-gpu 2.12.0

2023.01.25 release

[링크 : https://pypi.org/project/tensorflow-gpu/]

 

그 와중에 우분투 26.04 의 파이썬 버전이 3.14 대이고

$ python3 --version
Python 3.14.4

 

텐서플로우는 지원버전이 없다고 배째고

$ pip3 install tensorflow
ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow

 

난 어짜피 gpu 가속받을거니까~ 하고 실행하는데 에러

$ pip3 install tensorflow-gpu
Collecting tensorflow-gpu
  Using cached tensorflow-gpu-2.12.0.tar.gz (2.6 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [77 lines of output]
      Traceback (most recent call last):
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/_vendor/packaging/requirements.py", line 36, in __init__
          parsed = _parse_requirement(requirement_string)
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/_vendor/packaging/_parser.py", line 71, in parse_requirement
          return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES))
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/_vendor/packaging/_parser.py", line 89, in _parse_requirement
          url, specifier, marker = _parse_requirement_details(tokenizer)
                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/_vendor/packaging/_parser.py", line 135, in _parse_requirement_details
          marker = _parse_requirement_marker(
              tokenizer,
          ...<5 lines>...
              ),
          )
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/_vendor/packaging/_parser.py", line 156, in _parse_requirement_marker
          tokenizer.raise_syntax_error(
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
              f"Expected {expected} or end",
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              span_start=span_start,
              ^^^^^^^^^^^^^^^^^^^^^^
              span_end=None,
              ^^^^^^^^^^^^^^
          )
          ^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/_vendor/packaging/_tokenizer.py", line 166, in raise_syntax_error
          raise ParserSyntaxError(
          ...<3 lines>...
          )
      packaging._tokenizer.ParserSyntaxError: Expected semicolon (after name with no version specifier) or end
          python_version>"3.7"
                        ^
      
      The above exception was the direct cause of the following exception:
      
      Traceback (most recent call last):
        File "/home/minimonk/venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "/home/minimonk/venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/minimonk/venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 333, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 520, in run_setup
          super().run_setup(setup_script=setup_script)
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 40, in <module>
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/__init__.py", line 114, in setup
          _install_setup_requires(attrs)
          ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/__init__.py", line 85, in _install_setup_requires
          dist.parse_config_files(ignore_option_errors=True)
          ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/dist.py", line 764, in parse_config_files
          self._finalize_requires()
          ~~~~~~~~~~~~~~~~~~~~~~~^^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/dist.py", line 382, in _finalize_requires
          self._normalize_requires()
          ~~~~~~~~~~~~~~~~~~~~~~~~^^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/dist.py", line 400, in _normalize_requires
          self.install_requires = list_(map(str, _reqs.parse(install_requires)))
                                  ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-kb1b92jj/overlay/lib/python3.14/site-packages/setuptools/_vendor/packaging/requirements.py", line 38, in __init__
          raise InvalidRequirement(str(e)) from e
      packaging.requirements.InvalidRequirement: Expected semicolon (after name with no version specifier) or end
          python_version>"3.7"
                        ^
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

 

tensorflow 도 이제 인기가 없어졌다고 해야하나.. 지는 해가 되어버렸나 보다.

[링크 : https://github.com/tensorflow/tensorflow/issues/102890]

 

짧고 명확하다... deprecation. 후..

TensorFlow Object Detection API
TensorFlow 2.2 TensorFlow 1.15 Python 3.6

Deprecation

[링크 : https://github.com/tensorflow/models/blob/master/research/object_detection/README.md]

 

keras도 희망이 없고, pytorch도 좋은소리 안나오고 어떻게 해야하나..

by GPT

 

by claude

'프로그램 사용 > yolo_tensorflow' 카테고리의 다른 글

moviad stfpm  (0) 2026.06.18
STFPM 실행  (0) 2026.06.01
딥러닝 학습 관련(epoch, loss)  (0) 2026.05.27
NAS - Neural Architecture Search  (0) 2026.05.21
MCUNet  (0) 2026.05.21
Posted by 구차니