전에 어떻게 해결했는지 모르겠지만, gtx 1060에 model prediction 을 실행하면 BLAS GEMM 어쩌구 나온다. 아래와 같이 cuda 버전 문제이다.
apt-get purge libcublas10 libcublas-dev apt-get install libcublas10=10.2.1.243-1 libcublas-dev=10.2.1.243-1 cuda-libraries-10-1 cuda-libraries-dev-10-1
전에 어떻게 해결했는지 모르겠지만, gtx 1060에 model prediction 을 실행하면 BLAS GEMM 어쩌구 나온다. 아래와 같이 cuda 버전 문제이다.
apt-get purge libcublas10 libcublas-dev apt-get install libcublas10=10.2.1.243-1 libcublas-dev=10.2.1.243-1 cuda-libraries-10-1 cuda-libraries-dev-10-1

남는 시간에 tensorflow 2.0을 컴파일에 도전했다. 현실은 실패하여 2.1로 목표 재설정. docker 이미지를 사용하면 쉬운데, avx2를 지원하지 않는 CPU를 사용하여 선택할 수 없다. 직접 컴파일하지 않는 한 사용할 수 없다. 최근 개발 이미지를 찾아보니 cuda 10.1, python3 이었다. nvidia-driver는 여러 버전이 설정 되었는데, host pc 버전으로 구동하나 보다. bazel 버전은 3.0이다.
bazel 버전을 2.1.0에 맞는 0.27로 바꿨다. compile 하면 약 6시간 정도 걸린다. 문제가 몇 개 있었다. 전에 램 12GB로 컴파일을 성공했다. 지금 8GB로 해보니, 10,000번 스텝넘어 동작을 멈추고 실패했다. 램을 사기 애매하여 일단 SWAP을 30GB 만들어 컴파일에 성공했다. 그런데 상당히 느리다. 결국 램 8GB를 구매했다. 그런데도 firefox를 띄우고 컴파일하면 에러난다.
메뉴얼은 host에 CUDA를 설치할 필요 없다고 했다. nvidia-driver를 440 버전으로 업데이트 하면 CUDA 10.2를 기본 설치한다. 이게 뭐가 문제냐면 docker gpu 이미지가 10.2을 지원하지 않아 gpu를 사용할 수 없다. 일단 nvidia docker가 10.1 이미지를 띄우면 cuda 10.0으로 내릴 수 없다. 드라이버도 같이 내려야 하는데, 사용 중이어 수정할 수 없나보다. 실패하여 cuda 10.1 이미지를 사용했다. 그러나 nvidia-driver-440으로 cuda 10.1을 사용할 수 없다. 결국 host pc 드라이버를 438로 내렸다.

tensorflow 1.12 버전은 host pc driver 440으로 잘 구동한다. 왜 9.0은 실행하는데 10.x 버전을 실행하지 못하는지 모르겠다.
3일째 이 미친 짓을 하고 있다. 뭘 위해서 인지 모르겠다. 지금까지 버린 인건비와 전기 요금을 생각하면 PC 1/3대를 구입했다.
결국 다음 조합으로 컴파일에 성공했다.
컴파일 거의 마지막 단계에 host python 버전 2와 guest python 버전 3 환경 설정값 다름으로 컴파일을 실패했다. 여기를 참조하여 간단하게 tensorRT를 사용하지 않도록 설정했다. 어차피 내 그래픽 카드는 지원하지 않는다. python2 버전 이미지로 해도 될 듯 하다.
ERROR: /tensorflow_src/tensorflow/tensorflow/python/keras/api/BUILD:129:1: Executing genrule //tensorflow/python/keras/api:keras_python_api_gen_compat_v2 failed (Exit 1)
Traceback (most recent call last):
File "/root/.cache/bazel/_bazel_root/51f904752746bc15a93061eb1cc3b8cc/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/python/keras/api/create_tensorflow.python_api_2_keras_python_api_gen_compat_v2.runfiles/org_tensorflow/tensorflow/python/tools/api/generator/create_python_api.py", line 27, in <module>nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 cuda-npp-10-1 10.1.243-1 [54.9 MB]
Get:9 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 cuda-libraries-10-1 10.1.243-1 [2588 B]
Get:10 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 cuda-nvrtc-dev-10-1 10.1.243-1 [8812 B]
from tensorflow.python.tools.api.generator import doc_srcs
File "/root/.cache/bazel/_bazel_root/51f904752746bc15a93061eb1cc3b8cc/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/python/keras/api/create_tensorflow.python_api_2_keras_python_api_gen_compat_v2.runfiles/org_tensorflow/tensorflow/python/__init__.py", line 85, in <module>
from tensorflow.python.ops.standard_ops import *
File "/root/.cache/bazel/_bazel_root/51f904752746bc15a93061eb1cc3b8cc/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/python/keras/api/create_tensorflow.python_api_2_keras_python_api_gen_compat_v2.runfiles/org_tensorflow/tensorflow/python/ops/standard_ops.py", line 117, in <module>
from tensorflow.python.compiler.tensorrt import trt_convert as trt
File "/root/.cache/bazel/_bazel_root/51f904752746bc15a93061eb1cc3b8cc/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/python/keras/api/create_tensorflow.python_api_2_keras_python_api_gen_compat_v2.runfiles/org_tensorflow/tensorflow/python/compiler/tensorrt/__init__.py", line 22, in <module>
from tensorflow.python.compiler.tensorrt import trt_convert as trt
File "/root/.cache/bazel/_bazel_root/51f904752746bc15a93061eb1cc3b8cc/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/python/keras/api/create_tensorflow.python_api_2_keras_python_api_gen_compat_v2.runfiles/org_tensorflow/tensorflow/python/compiler/tensorrt/trt_convert.py", line 28, in <module>
from tensorflow.compiler.tf2tensorrt import wrap_py_utils
File "/root/.cache/bazel/_bazel_root/51f904752746bc15a93061eb1cc3b8cc/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/python/keras/api/create_tensorflow.python_api_2_keras_python_api_gen_compat_v2.runfiles/org_tensorflow/tensorflow/compiler/tf2tensorrt/wrap_py_utils.py", line 28, in <module>
_wrap_py_utils = swig_import_helper()
File "/root/.cache/bazel/_bazel_root/51f904752746bc15a93061eb1cc3b8cc/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/python/keras/api/create_tensorflow.python_api_2_keras_python_api_gen_compat_v2.runfiles/org_tensorflow/tensorflow/compiler/tf2tensorrt/wrap_py_utils.py", line 24, in swig_import_helper
_mod = imp.load_module('_wrap_py_utils', fp, pathname, description)
File "/usr/lib/python3.6/imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "/usr/lib/python3.6/imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: /root/.cache/bazel/_bazel_root/51f904752746bc15a93061eb1cc3b8cc/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/python/keras/api/create_tensorflow.python_api_2_keras_python_api_gen_compat_v2.runfiles/org_tensorflow/tensorflow/compiler/tf2tensorrt/_wrap_py_utils.so: undefined symbol: _ZN15stream_executor14StreamExecutor18EnablePeerAccessToEPS0_
----------------
Note: The failure of target //tensorflow/python/keras/api:create_tensorflow.python_api_2_keras_python_api_gen_compat_v2 (with exit code 1) may have been caused by the fact that it is a Python 2 program that was built in the host configuration, which uses Python 3. You can change the host configuration (for the entire build) to instead use Python 2 by setting --host_force_python=PY2.
If this error started occurring in Bazel 0.27 and later, it may be because the Python toolchain now enforces that targets analyzed as PY2 and PY3 run under a Python 2 and Python 3 interpreter, respectively. See https://github.com/bazelbuild/bazel/issues/7899 for more information.
----------------
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 26069.299s, Critical Path: 545.35s
INFO: 26668 processes: 26668 local.
FAILED: Build did NOT complete successfully
드디어 2.1 컴파일을 성공했다. 한 번 컴파일 끝내기 위해 7시간씩 썼다. 총 5번은 실패했고 6번째 성공했다. 업데이트 전 제대로 실행됨을 확인했다. update 하고 실행하니 또 에러 뜬다. cuda 10.2 문제임을 여기에서 확인했다. 다시 버전을 내렸다.
2020-04-28 11:13:07.200201: E tensorflow/stream_executor/cuda/cuda_blas.cc:238] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
2020-04-28 11:13:07.202605: E tensorflow/stream_executor/cuda/cuda_blas.cc:238] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
2020-04-28 11:13:07.202635: W tensorflow/stream_executor/stream.cc:2041] attempting to perform BLAS operation using StreamExecutor without BLAS support
2020-04-28 11:13:07.202674: W tensorflow/core/common_runtime/base_collective_executor.cc:217] BaseCollectiveExecutor::StartAbort Internal: Blas GEMM launch failed : a.shape=(10000, 4), b.shape=(4, 1024), m=10000, n=1024, k=4
[[{{node dense_1/MatMul}}]]
Traceback (most recent call last):
File "200428getSortedValuev3.py", line 198, in <module>
model2.fit(x=fixed_sentence_by_index, y=training_result_asarray, epochs=10000, verbose=2, validation_split=0.3, callbacks=callbacks_list, batch_size=10000, shuffle=True)
File "/usr/local/lib/python3.6/dist-packages/keras/engine/training.py", line 1239, in fit
validation_freq=validation_freq)
File "/usr/local/lib/python3.6/dist-packages/keras/engine/training_arrays.py", line 196, in fit_loop
outs = fit_function(ins_batch)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/backend.py", line 3727, in __call__
outputs = self._graph_fn(*converted_inputs)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/function.py", line 1551, in __call__
return self._call_impl(args, kwargs)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/function.py", line 1591, in _call_impl
return self._call_flat(args, self.captured_inputs, cancellation_manager)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/function.py", line 1692, in _call_flat
ctx, args, cancellation_manager=cancellation_manager))
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/function.py", line 545, in call
ctx=ctx)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/execute.py", line 67, in quick_execute
six.raise_from(core._status_to_exception(e.code, message), None)
File "<string>", line 3, in raise_from
tensorflow.python.framework.errors_impl.InternalError: Blas GEMM launch failed : a.shape=(10000, 4), b.shape=(4, 1024), m=10000, n=1024, k=4
[[node dense_1/MatMul (defined at /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3009) ]] [Op:__inference_keras_scratch_graph_1128]
Function call stack:
keras_scratch_graph
미국 국방부가 리눅스로 무기 체계를 개발한다고 한다. 오픈소스를 사용하려면 이런 저런 문제점을 모두 직접 해결해야 한다. 정말 없는 길을 만들어 간다. 기업이 왜 오픈소스로 서비스하지 않는지 알 만하다. 구글같은 능력있는 회사정도 되야 오픈소스로 서비스 할 만하다. 누가 오픈소스로 서비스 한다고 하면 능력자라 인식해야겠다.
최근 몇 일간 태그를 제한하는 스크립트, 코드를 작성했다. 프로세스는 좀 복잡하다. 시운전자마다 태그를 지멋대로 작성한다. 태그를 잘 분석하면 좋은데, 지 멋대로라 의미있는 정보를 쉽게 얻어내기 어렵다. 오타도 많고 단어도 지 멋대로 순서로 작성한다. 그나마 잘못한 부분을 보아야 하는데 잘 보이지도 않는다. 없던 작업이라 대부분 고민해서 직접 만들었다. 시간이 정말 많은 사람이라면 취미로 프로그램 작성을 가져봄을 추천한다. 이건 뭐 정확한 법칙도 없어 모두 케바케다. stack overflow가 셧다운 되었을 때 사람들이 그 난리를 쳤는지 이해된다.
위치,원래 태그,수정한 태그 ***,****_UM_PRS_***_***,***_UM_PRS_***_*** ***,****_UM_PRS_***_***,****_UM_PRS_***_*** ***,***_PRS_UM_***_***_***,***_UM_PRS_***_***_*** ***,***_PRS_UM_***_***_***,***_UM_PRS_***_***_***
위 결과를 보면 원래 태그가 UM_PRS, PRS_UM 두 방식으로 표현된다. 두 방식을 모두 UM_PRS로 수정했다. 틀려도 같이 틀린다. 대충 잘 동작한다고 믿고 싶다. 몇 만개 중에서 30%만 수정한 태그에 답을 달았다. %를 올릴려면 한참 입력해야 한다. 현실은 시궁창이니…

PC를 거실에 설치하고 docker로 tensorflow를 설정했다. docker가 쉽고 간편하여 다 좋은데 그래픽 사용자 인터페이스를 지원하지 않는다. gym을 설정하기 어렵다. 찾다보니 다음 순서로 진행하면 동영상 파일을 만든다. 아직 맛만 보아 뭔지 잘 모르겠으나, 일단 에러없는 화면을 보니 안심된다.
jupyter notebook을 xvfb-run 아래와 같이 실행한다.
xvfb-run -s "-screen 0 1400x900x24" jupyter notebook --allow-root
여기를 웹으로 접속하여 아래 코드를 실행하면 cartPole을 동영상으로 녹화한다.
import gym
from gym import wrappers
env = gym.make('CartPole-v1')
env = wrappers.Monitor(env, "./gym-results-Cart", force=True)
observation = env.reset()
for _ in range(1000):
env.render()
action = env.action_space.sample()
observation, reward, done, info = env.step(action)
if done: break
env.close()
정말 간단한 LSTM으로 정확도 80%대까지 올렸다. 23,000개 데이터를 7,000번 학습시겼다. 정확하게 하려면 모든 카테고리 데이터를 동일하게 맞추고, 내부 태그를 정확하게 정리해야 하는데 시간없어 하지 못했다.
[21:33:28]>cat process | head -100 로드한 모델 vocab 최대값은 2611 로드한 모델 vectror 크기는 5 인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B'] 출력 크기는 9 Model: "sequential_1" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= embedding_1 (Embedding) (None, 10, 5) 13055 _________________________________________________________________ lstm_1 (LSTM) (None, 32) 4864 _________________________________________________________________ dropout_1 (Dropout) (None, 32) 0 _________________________________________________________________ dense_1 (Dense) (None, 16) 528 _________________________________________________________________ dropout_2 (Dropout) (None, 16) 0 _________________________________________________________________ dense_2 (Dense) (None, 9) 153 ================================================================= Total params: 18,600 Trainable params: 5,545 Non-trainable params: 13,055 _________________________________________________________________ Train on 18757 samples, validate on 4690 samples Epoch 1/1000 - 5s - loss: 2.1842 - acc: 0.0887 - val_loss: 2.1683 - val_acc: 0.0908 Epoch 00001: acc improved from -inf to 0.08866, saving model to ./saved_network_weightv2.h5 Epoch 2/1000 - 4s - loss: 2.1073 - acc: 0.1674 - val_loss: 2.1181 - val_acc: 0.2066 Epoch 00002: acc improved from 0.08866 to 0.16735, saving model to ./saved_network_weightv2.h5 Epoch 3/1000 - 4s - loss: 2.0133 - acc: 0.2660 - val_loss: 2.0448 - val_acc: 0.2652 Epoch 02019: acc improved from 0.88084 to 0.88122, saving model to ./saved_network_weightv2.h5 Epoch 02129: acc improved from 0.88122 to 0.88218, saving model to ./saved_network_weightv2.h5 Epoch 02190: acc improved from 0.88218 to 0.88292, saving model to ./saved_network_weightv2.h5 Epoch 02542: acc improved from 0.88292 to 0.88394, saving model to ./saved_network_weightv2.h5 Epoch 02805: acc improved from 0.88394 to 0.88426, saving model to ./saved_network_weightv2.h5 Epoch 02928: acc improved from 0.88426 to 0.88474, saving model to ./saved_network_weightv2.h5 Epoch 03050: acc improved from 0.88474 to 0.88607, saving model to ./saved_network_weightv2.h5 Epoch 03836: acc improved from 0.88607 to 0.88650, saving model to ./saved_network_weightv2.h5 Epoch 03940: acc improved from 0.88650 to 0.88762, saving model to ./saved_network_weightv2.h5 Epoch 04337: acc improved from 0.88762 to 0.88810, saving model to ./saved_network_weightv2.h5
전에 텍스트 0이 인덱스 번호 47번인가 그랬다. 아무래도 이상하여 확이해보니 zero padding에는 0으로 넣었다. 0을 숫자로 처리할지, zero padding 값으로 처리할 지 결정해야 한다. 일단 검증할 경우에는 0을 강제로 입력했다.
입력한 단어는 ['M', 'YD', '4', 'PIN', 'SHIFT', '1', '전진', '단', 'ZERO!!', 'ZERO!!'] 내 예상은 이번 텍스트가 0.87확율로 [4]임. 인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B'] 출력 크기는 9 1/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 M 69 [69] 2/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 YD 1 [69, 1] 3/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 4 11 [69, 1, 11] 4/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 10 21 [69, 1, 11, 21] 5/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 ST 0 [69, 1, 11, 21, 0] 6/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 PIN 154 [69, 1, 11, 21, 0, 154] 7/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 후진 42 [69, 1, 11, 21, 0, 154, 42] 8/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 단 13 [69, 1, 11, 21, 0, 154, 42, 13] 9/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 ZERO!! zero index는 0 [69, 1, 11, 21, 0, 154, 42, 13, 0] 10/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 1, 11, 21, 0, 154, 42, 13, 0, 0] 입력한 단어는 ['M', 'YD', '4', '10', 'ST', 'PIN', '후진', '단', 'ZERO!!', 'ZERO!!'] 내 예상은 이번 텍스트가 0.84확율로 [4]임. 인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B'] 출력 크기는 9 1/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 M 69 [69] 2/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 OTR 91 [69, 91] 3/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 랙 28 [69, 91, 28] 4/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 10 21 [69, 91, 28, 21] 5/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 번방 121 [69, 91, 28, 21, 121] 6/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 차종 6 [69, 91, 28, 21, 121, 6] 7/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 20 51 [69, 91, 28, 21, 121, 6, 51] 8/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 이상 8 [69, 91, 28, 21, 121, 6, 51, 8] 9/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 ZERO!! zero index는 0 [69, 91, 28, 21, 121, 6, 51, 8, 0] 10/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 91, 28, 21, 121, 6, 51, 8, 0, 0] 입력한 단어는 ['M', 'OTR', '랙', '10', '번방', '차종', '20', '이상', 'ZERO!!', 'ZERO!!'] 내 예상은 이번 텍스트가 1.00확율로 [5]임. 인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B'] 출력 크기는 9 1/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 M 69 [69] 2/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 70 36 [69, 36] 3/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 ST 0 [69, 36, 0] 4/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 주변 292 [69, 36, 0, 292] 5/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 설비 322 [69, 36, 0, 292, 322] 6/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 비상 63 [69, 36, 0, 292, 322, 63] 7/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 정지 73 [69, 36, 0, 292, 322, 63, 73] 8/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 ZERO!! zero index는 0 [69, 36, 0, 292, 322, 63, 73, 0] 9/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 36, 0, 292, 322, 63, 73, 0, 0] 10/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 36, 0, 292, 322, 63, 73, 0, 0, 0] 입력한 단어는 ['M', '70', 'ST', '주변', '설비', '비상', '정지', 'ZERO!!', 'ZERO!!', 'ZERO!!'] 내 예상은 이번 텍스트가 1.00확율로 [2]임. 인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B'] 출력 크기는 9 1/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 M 69 [69] 2/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 보조제어 리스트에 없는 단어 입력함. 다시 입력하세요 2/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 보조 26 [69, 26] 3/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 제어 38 [69, 26, 38] 4/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 GP 228 [69, 26, 38, 228] 5/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 동작 29 [69, 26, 38, 228, 29] 6/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 선택 14 [69, 26, 38, 228, 29, 14] 7/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 16 448 [69, 26, 38, 228, 29, 14, 448] 8/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 ZERO!! zero index는 0 [69, 26, 38, 228, 29, 14, 448, 0] 9/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 26, 38, 228, 29, 14, 448, 0, 0] 10/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 26, 38, 228, 29, 14, 448, 0, 0, 0] 입력한 단어는 ['M', '보조', '제어', 'GP', '동작', '선택', '16', 'ZERO!!', 'ZERO!!', 'ZERO!!'] 내 예상은 이번 텍스트가 1.00확율로 [0]임. 인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B'] 출력 크기는 9 1/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 M 69 [69] 2/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 70 36 [69, 36] 3/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 RH 9 [69, 36, 9] 4/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 피더 457 [69, 36, 9, 457] 5/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 전후진 리스트에 없는 단어 입력함. 다시 입력하세요 5/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 LS 75 [69, 36, 9, 457, 75] 6/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 이상 8 [69, 36, 9, 457, 75, 8] 7/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 ZERO!! zero index는 0 [69, 36, 9, 457, 75, 8, 0] 8/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 36, 9, 457, 75, 8, 0, 0] 9/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 36, 9, 457, 75, 8, 0, 0, 0] 10/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 36, 9, 457, 75, 8, 0, 0, 0, 0] 입력한 단어는 ['M', '70', 'RH', '피더', 'LS', '이상', 'ZERO!!', 'ZERO!!', 'ZERO!!', 'ZERO!!'] 내 예상은 이번 텍스트가 1.00확율로 [5]임. 인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B'] 출력 크기는 9 1/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 M 69 [69] 2/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 80 209 [69, 209] 3/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 LH 5 [69, 209, 5] 4/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 카울 리스트에 없는 단어 입력함. 다시 입력하세요 4/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 PIN 154 [69, 209, 5, 154] 5/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 LS 75 [69, 209, 5, 154, 75] 6/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 이상 8 [69, 209, 5, 154, 75, 8] 7/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 ZERO!! zero index는 0 [69, 209, 5, 154, 75, 8, 0] 8/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 209, 5, 154, 75, 8, 0, 0] 9/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 209, 5, 154, 75, 8, 0, 0, 0] 10/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 209, 5, 154, 75, 8, 0, 0, 0, 0] 입력한 단어는 ['M', '80', 'LH', 'PIN', 'LS', '이상', 'ZERO!!', 'ZERO!!', 'ZERO!!', 'ZERO!!'] 내 예상은 이번 텍스트가 1.00확율로 [5]임. 인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B'] 출력 크기는 9 1/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 M 69 [69] 2/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 60 134 [69, 134] 3/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 RH 9 [69, 134, 9] 4/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 CAM 179 [69, 134, 9, 179] 5/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 YD 1 [69, 134, 9, 179, 1] 6/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 제품 50 [69, 134, 9, 179, 1, 50] 7/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 감지 53 [69, 134, 9, 179, 1, 50, 53] 8/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 1 7 [69, 134, 9, 179, 1, 50, 53, 7] 9/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 ZERO!! zero index는 0 [69, 134, 9, 179, 1, 50, 53, 7, 0] 10/10 단어 입력 끝내려면 END!!를 입력 마지막까지 0을 채우려면 ZERO!!를 입력 zero index는 0 [69, 134, 9, 179, 1, 50, 53, 7, 0, 0] 입력한 단어는 ['M', '60', 'RH', 'CAM', 'YD', '제품', '감지', '1', 'ZERO!!', 'ZERO!!'] 내 예상은 이번 텍스트가 1.00확율로 [6]임. 인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B'] 출력 크기는 9