Skip to content

Commit 25ef470

Browse files
qiachengNuullllmschuettlerTNG3ae3aeDanielHirschTNG
authored
update requirements.txt, realesrgan patch, dropdown list for language selection, theme changes (#66)
Signed-off-by: 3ae3ae <[email protected]> Co-authored-by: Guo, Yilong <[email protected]> Co-authored-by: Markus Schüttler <[email protected]> Co-authored-by: 3ae3ae <[email protected]> Co-authored-by: DanielHirschTNG <[email protected]> Co-authored-by: Nicolas Oliver <[email protected]>
1 parent 4924092 commit 25ef470

14 files changed

+322
-35
lines changed

WebUI/electron/electron-env.d.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ type LocalSettings = {
4242

4343
type ThemeSettings = {
4444
availableThemes: Theme[];
45-
};
45+
currentTheme: Theme;
46+
4647

4748
type ModelPaths = {
4849
llm: string,

WebUI/electron/main.ts

+3
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ const settings: LocalSettings = {
7171
envType: "ultra",
7272
port: 59999,
7373
availableThemes: ["dark", "lnl"],
74+
currentTheme:"lnl"
7475
};
7576

7677
const logger = {
@@ -258,6 +259,8 @@ function initEventHandle() {
258259
ipcMain.handle("getThemeSettings", async () => {
259260
return {
260261
availableThemes: settings.availableThemes,
262+
currentTheme:settings.currentTheme
263+
261264
};
262265
});
263266

WebUI/external/settings-dev.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,7 @@
22
"envType": "arc",
33
"debug":1,
44
"port":56789,
5-
"availableThemes": ["dark","lnl"]
5+
"availableThemes": ["dark","lnl"],
6+
"currentTheme": "lnl"
7+
68
}

WebUI/src/assets/i18n/en_US.json

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
"SETTINGS_BASIC_LANGUAGE": "Language",
7070
"SETTINGS_BASIC_LANGUAGE_EN": "English",
7171
"SETTINGS_BASIC_LANGUAGE_ZH": "Chinese",
72+
"SETTINGS_BASIC_LANGUAGE_KO": "Korean",
7273
"SETTINGS_BASIC_PATHS": "Paths",
7374
"SETTINGS_BASIC_LLM_CHECKPOINTS": "LLM Model Path",
7475
"SETTINGS_MODEL_HUGGINGFACE": "Hugging Face",

WebUI/src/assets/i18n/ko_KR.json

+155
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
{
2+
"MAIN_TITLE": "AI PLAYGROUND",
3+
"COM_SETTINGS": "설정",
4+
"COM_MINI": "최소화",
5+
"COM_CLOSE": "닫기",
6+
"COM_RESTORE": "기본값으로 초기화",
7+
"COM_SD_PROMPT": "프롬프트를 입력하여 이미지를 생성",
8+
"COM_LLM_PROMPT": "프롬프트를 입력하여 답변을 생성",
9+
"COM_CLICK_UPLOAD": "- 클릭하여 이미지 업로드 -",
10+
"COM_GENERATE": "생성",
11+
"COM_GENERATING": "생성중",
12+
"COM_HISTORY": "히스토리",
13+
"COM_POST_TO_ENHANCE_PROCESS": "향상 대기열로 보내기",
14+
"COM_ZOOM_IN": "원본 크기로 보기",
15+
"COM_COPY": "복사",
16+
"COM_COPY_SUCCESS_TIP": "복사 성공",
17+
"COM_APPLY": "적용",
18+
"COM_DOWNLOAD": "다운로드",
19+
"COM_REGENERATE": "재생성",
20+
"COM_DELETE": "삭제",
21+
"COM_DOWNLOAD_MODEL": "모델 다운로드 중",
22+
"COM_DOWNLOAD_SPEED": "다운로드 속도",
23+
"COM_LOADING_MODEL": "AI 모델 로딩 중",
24+
"COM_LOADING_MODEL_COMPONENTS": "AI 모델 구성 요소 로딩 중",
25+
"COM_NO_SELECTED": "선택된 항목 없음",
26+
"COM_CONFIRM": "확인",
27+
"COM_CANCEL": "취소",
28+
"COM_VISIT": "방문",
29+
"COM_REQUESTING":"요청 중",
30+
"COM_DEFAULT":"기본값",
31+
"COM_STOP":"정지",
32+
"COM_OPEN_LOCATION":"파일 위치 열기",
33+
"COM_OPEN_PARAMS": "매개변수 정보",
34+
"COM_LOW": "낮음",
35+
"COM_HIGH": "높음",
36+
"COM_FULLSCREEN": "전체 화면",
37+
"COM_FULLSCREEN_EXIT": "전체 화면 종료",
38+
"SETTINGS_TAB_BASIC": "기본 설정",
39+
"SETTINGS_TAB_MODEL": "모델",
40+
"SETTINGS_INFERENCE_DEVICE": "추론 장치",
41+
"SETTINGS_MODEL_IMAGE_RESOLUTION": "이미지 해상도",
42+
"SETTINGS_MODEL_IMAGE_RESOLUTION_STRANDARD": "표준",
43+
"SETTINGS_MODEL_IMAGE_RESOLUTION_HD": "HD",
44+
"SETTINGS_MODEL_QUALITY": "생성 품질",
45+
"SETTINGS_MODEL_QUALITY_STANDARD": "표준",
46+
"SETTINGS_MODEL_QUALITY_HIGH": "높은 품질",
47+
"SETTINGS_MODEL_QUALITY_FAST": "빠름",
48+
"SETTINGS_MODEL_QUALITY_MANUAL": "수동",
49+
"SETTINGS_MODEL_ADJUSTABLE_OPTIONS": "조정 가능한 옵션",
50+
"SETTINGS_MODEL_MANUAL_OPTIONS": "수동 옵션",
51+
"SETTINGS_MODEL_NEGATIVE_PROMPT": "네거티브 프롬프트",
52+
"SETTINGS_MODEL_SEED": "시드",
53+
"SETTINGS_MODEL_GENERATE_NUMBER": "생성 이미지 수",
54+
"SETTINGS_MODEL_LLM_MODEL": "대규모 언어 모델",
55+
"SETTINGS_MODEL_IMAGE_PREVIEW": "이미지 미리보기",
56+
"SETTINGS_MODEL_SAFE_CHECK": "안전 확인 (SD 1.5에만 적용)",
57+
"SETTINGS_MODEL_IMAGE_MODEL": "이미지 모델",
58+
"SETTINGS_MODEL_INPAINT_MODEL": "인페인트/아웃페인트 모델",
59+
"SETTINGS_MODEL_IMAGE_WIDTH": "너비",
60+
"SETTINGS_MODEL_IMAGE_HEIGHT": "높이",
61+
"SETTINGS_MODEL_IMAGE_STEPS": "단계",
62+
"SETTINGS_MODEL_IMAGE_CFG": "CFG",
63+
"SETTINGS_MODEL_LORA": "LoRa",
64+
"SETTINGS_MODEL_SCHEDULER": "스케줄러",
65+
"SETTINGS_MODEL_LIST_CHANGE_TIP": "모델 목록의 변경으로 인해 일부 설정이 수정되었습니다. 자세한 내용은 기본 설정을 참조하세요.",
66+
"SETTINGS_BASIC_LANGUAGE": "언어",
67+
"SETTINGS_BASIC_LANGUAGE_EN": "영어",
68+
"SETTINGS_BASIC_LANGUAGE_ZH": "중국어",
69+
"SETTINGS_BASIC_LANGUAGE_KO": "한국어",
70+
"SETTINGS_BASIC_PATHS": "경로",
71+
"SETTINGS_BASIC_LLM_CHECKPOINTS": "LLM 모델 경로",
72+
"SETTINGS_MODEL_SD_CHECKPOINTS": "이미지 모델 경로",
73+
"SETTINGS_MODEL_SD_INPAINT_CHECKPOINTS": "이미지 인페인트 모델 경로",
74+
"SETTINGS_MODEL_SD_VAE": "Vae 경로",
75+
"SETTINGS_MODEL_SD_LORA": "Lora 경로",
76+
"SETTINGS_MODEL_SD_SCHEDULER": "스케줄러 경로",
77+
"SETTINGS_MODEL_SD_PRESET_MODEL": "이미지 기본 모델",
78+
"SETTINGS_MODEL_SD_STANDARD_MODEL": "표준 기본 모델",
79+
"SETTINGS_MODEL_SD_STANDARD_INPAINT_MODEL": "표준 기본 인페인트/아웃페인트 모델",
80+
"SETTINGS_MODEL_SD_HD_MODEL": "HD 기본 모델",
81+
"SETTINGS_MODEL_RAG_MODEL": "RAG 쿼리 모델",
82+
"SETTINGS_MODEL_EXIST": "모델이 이미 존재합니다. 다시 다운로드할 필요가 없습니다.",
83+
"SETTINGS_MODEL_DOWNLOAD": "모델 다운로드",
84+
"SETTINGS_MODEL_DOWNLOAD_DESC": "아래는 AI 플레이그라운드에서 다양한 AI 작업을 수행할 수 있는 모델 목록입니다. 다운로드 및 사용 전 각 모델의 약관을 검토하세요. 또는 위의 모델 경로와 모델 기본값을 변경하여 다른 모델 소스를 추가하고 선택할 수 있습니다.",
85+
"TAB_CREATE": "생성",
86+
"TAB_ENHANCE": "향상",
87+
"TAB_ANSWER": "답변",
88+
"TAB_LEARN_MORE": "더 알아보기",
89+
"ENHANCE_INPUT_IMAGE_REQUIRED": "생성 전 입력 이미지를 설정해 주세요",
90+
"ENHANCE_UPSCALE": "업스케일",
91+
"ENHANCE_IMAGE_PROMPT": "이미지 프롬프트",
92+
"ENHANCE_INPAINT": "인페인트",
93+
"ENHANCE_OUTPAINT": "아웃페인트",
94+
"ENHANCE_UPSCALE_SCALE": "업스케일",
95+
"ENHANCE_UPSCALE_SCALE_X1_5": "업스케일 (1.5배)",
96+
"ENHANCE_UPSCALE_SCALE_X2_0": "업스케일 (2.0배)",
97+
"ENHANCE_UPSCALE_VARIATION": "변형",
98+
"ENHANCE_UPSCALE_VARIATION_NONE": "없음",
99+
"ENHANCE_UPSCALE_VARIATION_DISABLE": "미세",
100+
"ENHANCE_UPSCALE_VARIATION_STRONG": "강함",
101+
"ENHANCE_INPAINT_TYPE": "유형",
102+
"ENHANCE_INPAINT_FILL": "새로운 내용으로 채우기",
103+
"ENHANCE_INPAINT_FIX": "마스크 영역 수정 및 복구",
104+
"ENHANCE_INPAINT_MASK_REQUIRED": "생성 전 인페인트 마스크를 그려주세요",
105+
"ENHANCE_INPAINT_USE_IMAGE_MODEL": "현재 이미지 모델 사용",
106+
"ENHANCE_COM_DENOISE": "강도",
107+
"ENHANCE_OUTPAINT_DIRECTION": "방향",
108+
"ENHANCE_PREVIEW_BEFORE_PROCESS": "처리 전",
109+
"ENHANCE_PREVIEW_AFTER_PROCESS": "처리 후",
110+
"ENHANCE_IMAGE_PROMPT_TIP": "이미지를 어떻게 스타일링할지 설명하세요. 유지하고 싶은 원본 이미지의 설명과 변경하고 싶은 내용의 설명을 포함하세요. 강도 슬라이더를 조정하여 프롬프트가 결과에 미치는 영향을 증가시키거나 감소시킬 수 있습니다.",
111+
"ENHANCE_INPAINT_TIP": "펜 도구를 사용하여 영역을 마스킹하세요. 프롬프트에 수정하거나 채우고 싶은 내용을 설명하세요. 수정 또는 채우기 옵션을 선택한 다음, 프롬프트가 미치는 강도 수준을 조정하세요.",
112+
"ENHANCE_OUTPAINT_TIP": "확장하려는 방향을 선택하고, 필요한 경우 노이즈 제거 값을 조정한 다음, 텍스트 상자에 프롬프트 단어를 입력하세요. 확장된 이미지가 생성됩니다.",
113+
"ENHANCE_UPSCALE_TIP": "조작이 필요한 이미지를 업로드하고 확대 배율을 선택한 후, 노이즈 제거 강도를 조정하세요 (0.1 미만이면 이미지 내용은 변경되지 않지만 크기는 여전히 확대됩니다). 텍스트 상자에 프롬프트 단어를 입력하여 확대된 이미지를 생성하세요.",
114+
"ERROR_UNSUPPORTED_IMAGE_TYPE": "PNG, JPG, GIF, BMP 이미지 형식만 지원됩니다",
115+
"ANSWER_USER_NAME": "사용자",
116+
"ANSWER_AI_NAME": "플레이그라운드",
117+
"ANSWER_ERROR_NOT_PROMPT": "프롬프트를 입력해 주세요",
118+
"ANSWER_ERROR_CLEAR_SESSION": "채팅 기록 지우기",
119+
"ANSWER_RAG_ENABLE": "파일 쿼리 활성화",
120+
"ANSWER_RAG_OPEN_DIALOG": "파일 업로더 열기",
121+
"DOWNLOADER_CONFRIM_TIP": "실행에 필요한 하나 이상의 모델이 누락되었습니다. 아래 목록의 모델을 다운로드하시겠습니까?",
122+
"DOWNLOADER_MODEL": "모델",
123+
"DOWNLOADER_INFO": "정보",
124+
"DOWNLOADER_FILE_SIZE": "크기",
125+
"DOWNLOADER_REASON": "이유",
126+
"DOWNLOADER_TERMS": "방문",
127+
"DOWNLOADER_CONFLICT": "다른 다운로드 작업이 현재 진행 중이어서 새 작업을 시작할 수 없습니다. 현재 다운로드 작업을 취소하고 새 다운로드 작업을 시작할 수 있습니다.",
128+
"DOWNLOADER_TERMS_TIP": "모델 카드와 라이선스를 검토했습니다. 모든 이용 약관에 동의하며 서드파티 모델을 다운로드 하겠습니다.",
129+
"DOWNLOADER_FOR_ANSWER_GENERATE": "답변 모델",
130+
"DOWNLOADER_FOR_RAG_QUERY": "RAG 임베딩 모델",
131+
"DOWNLOADER_FOR_IMAGE_GENERATE": "이미지 모델",
132+
"DOWNLOADER_FOR_INAPINT_GENERATE": "인페인트/아웃페인트 모델",
133+
"DOWNLOADER_FOR_IMAGE_PREVIEW": "이미지 미리보기 모델",
134+
"DOWNLOADER_FOR_IMAGE_UPSCALE": "이미지 업스케일 모델",
135+
"DOWNLOADER_FOR_IMAGE_LORA": "빠른 이미지 모델",
136+
"DOWNLOADER_DONWLOAD_TASK_PROGRESS":"모델 다운로드 완료",
137+
"RAG_FILE_TOTAL_FORMAT": "파일 총 개수: {total}",
138+
"RAG_DRAG_UPLOAD": "파일을 끌어다 놓아 업로드",
139+
"RAG_DRAG_UPLOAD_UNSUPPORTED": "현재 프로그램은 관리자 권한으로 실행 중입니다. Windows UAC 제한으로 인해 드래그 앤 드롭 업로드를 사용할 수 없습니다. 파일을 업로드하려면 상단의 추가 버튼을 사용하세요.",
140+
"RAG_UPLOAD_MIME_TYPE": "지원되는 파일 유형:\n\t텍스트 문서: .txt .md\n\t오피스 문서: .doc(x)\n\tPDF Doc: .pdf",
141+
"RAG_ENABLE_TIP": "업로드된 파일에서만 답변",
142+
"RAG_UPLOAD_TYPE_ERROR": "업로드된 파일에 지원되지 않는 파일 유형이 포함되어 있어 자동으로 제외되었습니다",
143+
"RAG_UPLOAD_FILE_EXISTS": "업로드된 파일 {filename}이(가) 이미 존재합니다",
144+
"RAG_ANALYZE_FILE_FAILED": "파일 {filename} 분석에 실패했습니다",
145+
"RAG_USE_REJECT": "인터랙티브 문서 목록이 비어 있습니다. 먼저 문서를 업로드하세요",
146+
"RAG_WHEN_CLOSE_PANEL_AT_UPLODING": "모든 문서가 분석될 때까지 기다려 주세요",
147+
"RAG_SOURCE": "출처:",
148+
"ERR_NOT_ENOUGH_DISK_SPACE": "디스크 공간이 부족합니다. {requires_space}가 필요하지만, 사용 가능한 공간이 {free_space}밖에 없습니다",
149+
"ERR_DOWNLOAD_FAILED": "모델 파일 다운로드에 실패했습니다",
150+
"ERROR_RUNTIME_ERROR": "심각한 오류가 발생하면 프로그램을 재시작하고 다시 시도하세요",
151+
"ERROR_GENERATE_UNKONW_EXCEPTION": "알 수 없는 오류가 발생했습니다. 모델에서 생성에 실패했습니다",
152+
"ERROR_FOLDER_NOT_EXISTS": "지정된 디렉터리가 존재하지 않습니다",
153+
"ERROR_ENHANCE_IMAGE_NOT_SET": "생성할 입력 이미지를 설정하세요",
154+
"ERROR_UNFOUND_GRAPHICS": "프로그램 실행에 필요한 하드웨어가 컴퓨터 장치에서 감지되지 않을 경우, 확인을 클릭하면 프로그램이 종료됩니다."
155+
}

WebUI/src/assets/i18n/zh_CN.json

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
"SETTINGS_BASIC_LANGUAGE": "语言",
7070
"SETTINGS_BASIC_LANGUAGE_EN": "英文",
7171
"SETTINGS_BASIC_LANGUAGE_ZH": "中文",
72+
"SETTINGS_BASIC_LANGUAGE_KO": "韩文",
7273
"SETTINGS_BASIC_PATHS": "路径",
7374
"SETTINGS_BASIC_LLM_CHECKPOINTS": "大语言模型路径",
7475
"SETTINGS_MODEL_HUGGINGFACE": "Hugging Face",

WebUI/src/assets/js/store/i18n.ts

+36-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
import { defineStore } from "pinia";
22

33
export const useI18N = defineStore("i18n", () => {
4+
45
const langName = ref("en_US");
6+
const currentLanguageName = ref("English");
57
const state = reactive<StringKV>({
68
});
79

810
async function init() {
911
const language = localStorage.getItem("language");
10-
if (language == "zh_CN" || language == "en_US") {
12+
if (language == "zh_CN" || language == "en_US" || language == "ko_KR") {
1113
await switchLanguage(language);
1214
} else {
1315
await initFromLocal();
@@ -19,24 +21,57 @@ export const useI18N = defineStore("i18n", () => {
1921
return switchLanguage(navigator.language == "zh-CN" ? "zh_CN" : "en_US");
2022
}
2123

24+
function changeLanguage(value: any, index: number) {
25+
switchLanguage(value.value)
26+
}
27+
2228
function updateLanguageRecord(record: Record<string, string>) {
2329
Object.keys(record).forEach((key) => {
2430
state[key] = record[key];
2531
});
2632
document.title = state.MAIN_TITLE;
2733
}
34+
35+
const languageOptions = ref([
36+
{ value: 'en_US', name: state.SETTINGS_BASIC_LANGUAGE_EN },
37+
{ value: 'zh_CN', name: state.SETTINGS_BASIC_LANGUAGE_ZH },
38+
{ value: 'ko_KR', name: state.SETTINGS_BASIC_LANGUAGE_KO },
39+
])
40+
41+
const currentLanguageDict = ref<StringKV>({
42+
"en_US": state.SETTINGS_BASIC_LANGUAGE_EN,
43+
"zh_CN": state.SETTINGS_BASIC_LANGUAGE_ZH,
44+
"ko_KR": state.SETTINGS_BASIC_LANGUAGE_KO,
45+
});
46+
47+
async function updateLanguageNames(lang: string) {
48+
currentLanguageDict.value["en_US"] = state.SETTINGS_BASIC_LANGUAGE_EN;
49+
currentLanguageDict.value["zh_CN"] = state.SETTINGS_BASIC_LANGUAGE_ZH;
50+
currentLanguageDict.value["ko_KR"] = state.SETTINGS_BASIC_LANGUAGE_KO;
51+
currentLanguageName.value = currentLanguageDict.value[lang];
52+
languageOptions.value = languageOptions.value.map((item) => {
53+
item.name = currentLanguageDict.value[item.value];
54+
return item;
55+
});
56+
}
2857

2958
async function switchLanguage(lang: string) {
3059
const languageRecords = await import(`../../i18n/${lang}.json`);
3160
updateLanguageRecord(languageRecords);
3261
langName.value = lang;
3362
localStorage.setItem("language", lang);
63+
updateLanguageNames(lang);
3464
}
3565

3666
return {
3767
state,
3868
langName,
69+
languageOptions,
70+
currentLanguageName,
3971
init,
4072
switchLanguage,
73+
changeLanguage,
4174
};
75+
76+
4277
});

WebUI/src/assets/js/store/theme.ts

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export const useTheme = defineStore("theme", () => {
99
window.electronAPI.getThemeSettings().then((themeSettings) => {
1010
const themesFromSettings = themeSettings.availableThemes.filter(t => knownThemes.includes(t));
1111
if (themesFromSettings.length > 0) availableThemes.value = themesFromSettings;
12+
if (knownThemes.includes(themeSettings.currentTheme)) selected.value = themeSettings.currentTheme;
1213
});
1314

1415
return {

WebUI/src/views/AppSettings.vue

+14-6
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,20 @@
4242
<div class="px-3 flex-none flex flex-col gap-3">
4343
<div class="flex flex-col gap-2">
4444
<p>{{ languages.SETTINGS_BASIC_LANGUAGE }}</p>
45-
<div class="grid grid-cols-2 gap-2">
46-
<radio-bolck :checked="i18n.langName == 'en_US'" :text="languages.SETTINGS_BASIC_LANGUAGE_EN"
47-
@click="() => { i18n.switchLanguage('en_US') }"></radio-bolck>
48-
<radio-bolck :checked="i18n.langName == 'zh_CN'" :text="languages.SETTINGS_BASIC_LANGUAGE_ZH"
49-
@click="() => { i18n.switchLanguage('zh_CN') }"></radio-bolck>
50-
</div>
45+
<drop-selector :array="i18n.languageOptions" @change="i18n.changeLanguage">
46+
<template #selected>
47+
<div class="flex gap-2 items-center">
48+
<span class="rounded-full bg-green-500 w-2 h-2"></span>
49+
<span>{{ i18n.currentLanguageName }}</span>
50+
</div>
51+
</template>
52+
<template #list="slotItem">
53+
<div class="flex gap-2 items-center">
54+
<span class="rounded-full bg-green-500 w-2 h-2"></span>
55+
<span>{{ slotItem.item.name }}</span>
56+
</div>
57+
</template>
58+
</drop-selector>
5159
</div>
5260
<div v-if="theme.availableThemes.length > 1" class="flex flex-col gap-2">
5361
<p>Theme</p>

readme.md

+24-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# AI Playground
22

3+
<a href="https://scan.coverity.com/projects/ai-playground">
4+
<img alt="Coverity Scan Build Status"
5+
src="https://scan.coverity.com/projects/30694/badge.svg"/>
6+
</a>
7+
38
![image](https://github.com/user-attachments/assets/66086f2c-216e-4a79-8ff9-01e04db7e71d)
49

510
This example is based on the xpu implementation of Intel Arc A-Series dGPU and Ultra iGPU
@@ -37,23 +42,33 @@ IMPORTANT: We have noticed some systems require the VS C++ redistribution, often
3742
### Dev Environment Setup (backend, python)
3843

3944
1. Create and switch the conda environment and go to the service directory.
45+
4046
```cmd
4147
conda create -n aipg_xpu python=3.10 -y
42-
activate aipg_xpu
43-
pip install -r requirements.txt
44-
```
48+
conda activate aipg_xpu
49+
conda install libuv -y
4550
46-
3. Download the Intel Extension For Pytorch* AOT Packages. Depending on your hardware, download cp310 whl files from the links below.
51+
cd service
4752
48-
Core Ultra-H https://github.com/Nuullll/intel-extension-for-pytorch/releases/tag/v2.1.20%2Bmtl%2Boneapi
53+
@REM for Desktop-dGPU (e.g. A770)
54+
pip install -r requriements-arc.txt
4955
50-
The Arc A - Series dGPU https://github.com/Nuullll/intel-extension-for-pytorch/releases/tag/v2.1.10%2Bxpu
56+
@REM for Intel Core Ultra-H (MTL)
57+
pip install -r requriements-ultra.txt
58+
```
5159

52-
Install all downloaded whl files using the pip install command
60+
2. Check whether the XPU environment is correct
5361

54-
4. Check whether the XPU environment is correct
5562
```cmd
56-
python -c "import torch; import intel_extension_for_pytorch as ipex; print(torch.version); print(ipex.version); [print(f'[{i}]: {torch.xpu.get_device_properties(i)}') for i in range(torch.xpu.device_count())];"
63+
python -c "import torch; import intel_extension_for_pytorch as ipex; print(torch.__version__); print(ipex.__version__); [print(f'[{i}]: {torch.xpu.get_device_properties(i)}') for i in range(torch.xpu.device_count())];"
64+
```
65+
66+
Example output:
67+
68+
```txt
69+
2.1.0.post3+cxx11.abi
70+
2.1.40+xpu
71+
[0]: _DeviceProperties(name='Intel(R) Arc(TM) Graphics', platform_name='Intel(R) Level-Zero', dev_type='gpu', driver_version='1.3.29283', has_fp64=1, total_memory=14765MB, max_compute_units=112, gpu_eu_count=112)
5772
```
5873

5974

0 commit comments

Comments
 (0)