using ADODB 을 사용하려면

참조 추가에서 COM -> Microsoft ActiceX Data Objects 6.0 Library 를 선택하면 된다.

(버전은 필요한 버전으로 알아서 선택한다.)

 

'C#' 카테고리의 다른 글

Microsoft Office 2010에서 사용할 수 있도록 MODI 설치  (0) 2017.11.22
Interop.CDO 참조 추가 방법  (0) 2017.11.17
Interop.ADODB 참조 추가 방법  (0) 2017.11.17
MSHTML 사용하는 방법  (0) 2017.11.17
Team Foundation Server 2018 설치  (0) 2017.10.28
accord.NET - 링크  (0) 2017.10.25

참조 추가 에서 COM -> Microsoft HTML Object Library 를 추가하면 된다.

 



 

'C#' 카테고리의 다른 글

Interop.CDO 참조 추가 방법  (0) 2017.11.17
Interop.ADODB 참조 추가 방법  (0) 2017.11.17
MSHTML 사용하는 방법  (0) 2017.11.17
Team Foundation Server 2018 설치  (0) 2017.10.28
accord.NET - 링크  (0) 2017.10.25
CNTK (Microsoft Cognitive Toolkit) - MS, 오픈소스 딥러닝 툴킷  (0) 2017.10.24

SVN 을 쓰다가 컴퓨터를 갈아 엎으면서

TFS 도 무료(5인이하인 경우)여서 한번 써보기로 하고 설치해보았다.

일단 결론은 잘 연동된다.

 

아래는 설치 파일.

tfsexpress2018_rc2.exe

설치를 진행한다.

위 그림과 같이 첫화면이 나오면 마법사 시작 을 한다.

 

무료라서 그런지 개선프로그램에 강제로 참여를 해야한다.;;

 

다음.

 

새배포이므로 다음.

 

한국어로 두고 다음

 

SQL Server Express 가 설치되지 않은 상태라서 설치하는 걸로 선택하고 다음.

 

기본적으로 8080 포트를 쓴다. (방화벽뚫어줘야함)

 

경로 지정..  다음..

 

설치가 진행되다가 멈추고

아래 처럼 경고가 발생되었다.

Oracle JRE 버전을 자동으로 설치하는 걸 체크하고 다시 진행해보니 이상없이 설치가 완료되었다.

설치는 완료!!!

 

설치가 완료되면 아래 그림과 같이 관리 콘솔이 나타난다.

 

내 개인 소스관리 공간을 만들기 위해 컬랙션 만들기 클릭

 

이름과 설명을 적고 다음

새 데이터 베이스 만들기 선택을 두고 다음.

조금 시간이 걸린다.

 

아래 그림과 같이 컬랙션 추가 완료

위 그림에서 제시한 사이트 경로로 접속하니 아래그림과 같이 나온다.

컬랙션에대한 추가 정보를 입력하고 만들기 하면.. 요것도 좀 시간이 걸린다. (저사양 CPU 가 달린 PC 에서 작업중...)

아래그림과 같이 내 공간? 이 하나 생겼다.

아래 http 주소를 이용해 Visual Sudio 에서 소스를 관리 할수 있게된다.

 

그럼 소스를 연결해 보자.

빈프로젝트를 하나 만들고

아래그림과 같이 소스 제어에 솔루션 추가를 선택한다.

아래처럼 로컬 경로에 git 리포지토리가 만들어 진다.

아래그림과 같이 파란색 열쇠 모양이 보이면 일단 준비완료가 된 상태다.

이제 이 소스를 tfs 에 올려야한다.

먼저 팀탐색기 tab 으로 가서 가장윗쪽의 집모양 버튼을 클릭한다.

그럼 아래 그림과 같은 화면이 보여진다.

여기서 동기화를 선택한다.

동기화를 선택하면 아래 그림과 같이 나오는데 원격 리포지토리에 푸시 쪽으로 가서 경로에

위에서 봤던 git 경로(http://...)를 넣는다.

게시 버튼을 누르면 아래 그림과 같이 푸시가된다.

이제 부터 이 솔루션은 tfs 로 관리하는 소스가 되었다.

아래처럼 소스를 연결했으니 tfs 에 해당 내용이 보여지게된다.

(이미지 내용은 두 솔루션을 번걸아 가면서 캡쳐가 되었다는점 참고)

'C#' 카테고리의 다른 글

Interop.ADODB 참조 추가 방법  (0) 2017.11.17
MSHTML 사용하는 방법  (0) 2017.11.17
Team Foundation Server 2018 설치  (0) 2017.10.28
accord.NET - 링크  (0) 2017.10.25
CNTK (Microsoft Cognitive Toolkit) - MS, 오픈소스 딥러닝 툴킷  (0) 2017.10.24
강의링크  (0) 2017.10.16

.NET 환경에서 머신러닝 처리를 위해 만들어진 프레임워크.

CNTK 와 어떤 점이 다른지 궁금하다.

 

소개 및 사이트

https://github.com/accord-net/framework/wiki

http://accord-framework.net/

예제 소스

https://github.com/accord-net/framework/

참고사이트

http://www.bloter.net/archives/248534
https://tensorflow.blog/2017/02/13/chainer-mxnet-cntk-tf-benchmarking/
https://github.com/Microsoft/CNTK
https://cntk.codeplex.com/

Microsoft Cognitive Toolkit (CNTK) : MS, 오픈소스 딥러닝 툴킷

CNTK 를 이용하여 딥러닝 관련해 C# 으로 코딩이 가능하다고 하여 한번 확인해 봤습니다.

 

아래 그림과 같이 Visual Studio 의 NuGet 을 이용하여 간단히 라이브러리를 가져올 수 있습니다.

아래파일은 위 깃허브사이트에서 C# Sample 만 가져온것입니다.

TrainingCSharp.zip

압축을 풀고 아래 과정을 거쳐야합니다.

NuGet 패키지 복원 을 통해 위에 언급했던 CNTK 라이브러리를 가져옵니다.

가져오는데 좀 시간이 걸립니다. 복원이 끝났으면

빌드해봅니다.

???

아래처럼 에러가 4군데가 나옵니다.

다행히도 아래 그림과 같이 메서드의 인자중 false 부분을 제거해 주면됩니다.

(버전이 올라가면서 이부분이 없어진것 으로 보입니다. 추측)

또 수정..

CPU 버전을 실행해 봤습니다.

소스를 보면 여러 방법으로의 결과 값을 도출해 볼수가 있습니다.

속 내용은 나중에 더 소스레벨로 가면 파악을 해볼 예정입니다.

GPU 버전은 아래처럼 에러가 발생됩니다.

에러 내용을 보니 해당 경로에서 먼가를 못찾는것 같네요

( Could not open ../../Examples/Image/DataSets/CIFAR-10\train_map.txt for reading. )

구글링하니 먼가 샘플 데이터를 다운받아서 처리를 해야하나봅니다.

누군가 이슈한 내용 https://github.com/Microsoft/CNTK/issues/690

샘플 데이터 셋을 가져오는방법 https://github.com/Microsoft/CNTK/tree/master/Examples/Image/DataSets/CIFAR-10

샘플데이터를 가져오는것 때문에 파이썬이 설치 되어있어야합니다.^^;

아래 처럼 파이썬이 설치된 상태에서 cmd 창에서 install_cifar10.py 파일이 있는 폴더로 이동하여 

python install_cifar10.py

명령을 수행합니다.

다운파일 용량이 좀 커서 시간이 걸립니다.

참고로 전 위 방법이 안되서 다른 경로(http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz)로

CIFAR-10 폴더에 파일을 다운받은 다음 

cifar_utils.py 파일을 편집하여에 아래 내용을 추가한 후

def load(fname):
    try:
        print ('Extracting files...')
        with tarfile.open(fname) as tar:
            tar.extractall()
        print ('Done.')
        print ('Preparing train set...')
        trn = np.empty((0, NumFeat + 1), dtype=np.int)
        for i in range(5):
            batchName = './cifar-10-batches-py/data_batch_{0}'.format(i + 1)
            trn = np.vstack((trn, readBatch(batchName)))
        print ('Done.')
        print ('Preparing test set...')
        tst = readBatch('./cifar-10-batches-py/test_batch')
        print ('Done.')
    finally:
        os.remove(fname)
    return (trn, tst)

install_cifar10.py 파일을 아래와 같이 수정하여 명령을 실행했습니다.

from __future__ import print_function
import cifar_utils as ut

if __name__ == "__main__":
    trn, tst= ut.load(r'./cifar-10-python.tar.gz')
    print ('Writing train text file...')
    ut.saveTxt(r'./Train_cntk_text.txt', trn)
    print ('Done.')
    print ('Writing test text file...')
    ut.saveTxt(r'./Test_cntk_text.txt', tst)
    print ('Done.')

    print ('Converting train data to png images...')
    ut.saveTrainImages(r'./Train_cntk_text.txt', 'train')
    print ('Done.')
    print ('Converting test data to png images...')
    ut.saveTestImages(r'./Test_cntk_text.txt', 'test')
    print ('Done.')

(위 내용을 알려주신 빅코드 님께 감사합니다. 빅코드 http://bigcode.tistory.com/)

이 후로도 계속 샘플 데이터가 없어서 에러가 발생되는데 해당 경로의 깃허브페이지에 가면 샘플데이터 다운로드 방법이 나와있습니다.

아래는 순서대로 발생되는 에러와 링크 명령어 순입니다.

해당 파일 경로로 가서 실행하면됩니다.

(다 정리가 안된것일수도 있습니다. 에러난 경우 깃허브에서 에러난 경로폴더로 가면 해결방법이 있습니다.)

1

에러캡쳐못함

https://github.com/Microsoft/CNTK/tree/master/Examples/Image/DataSets/Flowers

python install_flowers.py

2

Cannot open file '.D:/CNTK-master/PretrainedModels/ResNet18_ImageNet_CNTK.model' for reading

https://github.com/Microsoft/CNTK/tree/master/PretrainedModels

python download_model.py ResNet18_ImageNet_CNTK

3

'D:\CNTK-master\Examples\Image\DataSets\Animals\Train\Sheep' 경로의 일부를 찾을 수 없습니다.

https://github.com/Microsoft/CNTK/tree/master/Examples/Image/DataSets/Animals

python install_animals.py

 

위 에러가 모두 해결되면 아래처럼 에러없이 수행이 완료됩니다.

작업관리자 를 열어보니 GPU 를 잘 쓰고 있네요

그런데 CPU 도 엄청나게 쓰고 있습니다.;;

 

아래는 로그 전체 내용입니다.

======== running LogisticRegression.TrainAndEvaluate using GPU ========
Minibatch: 0 CrossEntropyLoss = 0.6931471, EvaluationCriterion = 0.5
Minibatch: 50 CrossEntropyLoss = 21.55996, EvaluationCriterion = 0.5
Minibatch: 100 CrossEntropyLoss = 5.931237, EvaluationCriterion = 0.4375
Minibatch: 150 CrossEntropyLoss = 0.1059439, EvaluationCriterion = 0.03125
Minibatch: 200 CrossEntropyLoss = 0.07103035, EvaluationCriterion = 0.03125
Minibatch: 250 CrossEntropyLoss = 0.06985503, EvaluationCriterion = 0.015625
Minibatch: 300 CrossEntropyLoss = 0.06981656, EvaluationCriterion = 0.015625
Minibatch: 350 CrossEntropyLoss = 0.06978078, EvaluationCriterion = 0.015625
Minibatch: 400 CrossEntropyLoss = 0.06974529, EvaluationCriterion = 0.015625
Minibatch: 450 CrossEntropyLoss = 0.06970999, EvaluationCriterion = 0.015625
Minibatch: 500 CrossEntropyLoss = 0.06967509, EvaluationCriterion = 0.015625
Minibatch: 550 CrossEntropyLoss = 0.06964055, EvaluationCriterion = 0.015625
Minibatch: 600 CrossEntropyLoss = 0.06960642, EvaluationCriterion = 0.015625
Minibatch: 650 CrossEntropyLoss = 0.06957255, EvaluationCriterion = 0.015625
Minibatch: 700 CrossEntropyLoss = 0.06953903, EvaluationCriterion = 0.015625
Minibatch: 750 CrossEntropyLoss = 0.06950578, EvaluationCriterion = 0.015625
Minibatch: 800 CrossEntropyLoss = 0.06947294, EvaluationCriterion = 0.015625
Minibatch: 850 CrossEntropyLoss = 0.06944047, EvaluationCriterion = 0.015625
Minibatch: 900 CrossEntropyLoss = 0.06940824, EvaluationCriterion = 0.015625
Minibatch: 950 CrossEntropyLoss = 0.06937636, EvaluationCriterion = 0.015625
Validating Model: Total Samples = 100, Misclassify Count = 3
======== running MNISTClassifier.TrainAndEvaluate with multilayer perceptron (MLP) classifier using GPU ========
Minibatch: 0 CrossEntropyLoss = 2.522058, EvaluationCriterion = 0.90625
Minibatch: 20 CrossEntropyLoss = 1.48611, EvaluationCriterion = 0.53125
Minibatch: 40 CrossEntropyLoss = 0.7296466, EvaluationCriterion = 0
Minibatch: 60 CrossEntropyLoss = 0.2474198, EvaluationCriterion = 0
Validating Model: Total Samples = 50, Misclassify Count = 0
Validating Model: Total Samples = 100, Misclassify Count = 0
Model Validation Error = 0
======== running MNISTClassifier.TrainAndEvaluate with convolutional neural network using GPU ========
Minibatch: 0 CrossEntropyLoss = 2.306932, EvaluationCriterion = 0.90625
Minibatch: 20 CrossEntropyLoss = 2.257694, EvaluationCriterion = 0.90625
Minibatch: 40 CrossEntropyLoss = 2.49947, EvaluationCriterion = 0.75
Minibatch: 60 CrossEntropyLoss = 0.008215316, EvaluationCriterion = 0
Validating Model: Total Samples = 50, Misclassify Count = 0
Validating Model: Total Samples = 100, Misclassify Count = 0
Model Validation Error = 0
======== running CifarResNet.TrainAndEvaluate using GPU ========
Minibatch: 0 CrossEntropyLoss = 2.436417, EvaluationCriterion = 0.578125
Minibatch: 20 CrossEntropyLoss = 2.82905, EvaluationCriterion = 0.53125
Minibatch: 40 CrossEntropyLoss = 2.356529, EvaluationCriterion = 0.390625
Minibatch: 60 CrossEntropyLoss = 2.325535, EvaluationCriterion = 0.34375
Minibatch: 80 CrossEntropyLoss = 2.139973, EvaluationCriterion = 0.3125
Minibatch: 100 CrossEntropyLoss = 2.308036, EvaluationCriterion = 0.28125
Minibatch: 120 CrossEntropyLoss = 2.250129, EvaluationCriterion = 0.28125
Minibatch: 140 CrossEntropyLoss = 2.009432, EvaluationCriterion = 0.265625
Minibatch: 160 CrossEntropyLoss = 2.233116, EvaluationCriterion = 0.265625
Minibatch: 180 CrossEntropyLoss = 2.071544, EvaluationCriterion = 0.203125
Minibatch: 200 CrossEntropyLoss = 2.117138, EvaluationCriterion = 0.265625
Minibatch: 220 CrossEntropyLoss = 2.069477, EvaluationCriterion = 0.15625
Minibatch: 240 CrossEntropyLoss = 1.965702, EvaluationCriterion = 0.1875
Minibatch: 260 CrossEntropyLoss = 1.978837, EvaluationCriterion = 0.28125
Minibatch: 280 CrossEntropyLoss = 1.908777, EvaluationCriterion = 0.140625
Minibatch: 300 CrossEntropyLoss = 1.88479, EvaluationCriterion = 0.15625
Minibatch: 320 CrossEntropyLoss = 1.853574, EvaluationCriterion = 0.171875
Minibatch: 340 CrossEntropyLoss = 1.933644, EvaluationCriterion = 0.15625
Minibatch: 360 CrossEntropyLoss = 1.850995, EvaluationCriterion = 0.1875
Minibatch: 380 CrossEntropyLoss = 1.877189, EvaluationCriterion = 0.125
Minibatch: 400 CrossEntropyLoss = 1.943855, EvaluationCriterion = 0.125
Minibatch: 420 CrossEntropyLoss = 1.656677, EvaluationCriterion = 0.09375
Minibatch: 440 CrossEntropyLoss = 1.931162, EvaluationCriterion = 0.171875
Minibatch: 460 CrossEntropyLoss = 2.053334, EvaluationCriterion = 0.203125
Minibatch: 480 CrossEntropyLoss = 1.858578, EvaluationCriterion = 0.171875
Minibatch: 500 CrossEntropyLoss = 1.872365, EvaluationCriterion = 0.1875
Minibatch: 520 CrossEntropyLoss = 1.828443, EvaluationCriterion = 0.09375
Minibatch: 540 CrossEntropyLoss = 1.710754, EvaluationCriterion = 0.125
Minibatch: 560 CrossEntropyLoss = 1.857575, EvaluationCriterion = 0.171875
Minibatch: 580 CrossEntropyLoss = 1.790916, EvaluationCriterion = 0.15625
Minibatch: 600 CrossEntropyLoss = 1.613939, EvaluationCriterion = 0.125
Minibatch: 620 CrossEntropyLoss = 1.904525, EvaluationCriterion = 0.15625
Minibatch: 640 CrossEntropyLoss = 1.649971, EvaluationCriterion = 0.046875
Minibatch: 660 CrossEntropyLoss = 1.776515, EvaluationCriterion = 0.078125
Minibatch: 680 CrossEntropyLoss = 1.810719, EvaluationCriterion = 0.1875
Minibatch: 700 CrossEntropyLoss = 1.846062, EvaluationCriterion = 0.109375
Minibatch: 720 CrossEntropyLoss = 1.813215, EvaluationCriterion = 0.125
Minibatch: 740 CrossEntropyLoss = 1.676595, EvaluationCriterion = 0.15625
Minibatch: 760 CrossEntropyLoss = 1.6078, EvaluationCriterion = 0.0625
Minibatch: 780 CrossEntropyLoss = 1.706012, EvaluationCriterion = 0.125
Validating Model: Total Samples = 50, Misclassify Count = 30
Validating Model: Total Samples = 100, Misclassify Count = 60
Validating Model: Total Samples = 150, Misclassify Count = 93
Validating Model: Total Samples = 200, Misclassify Count = 128
Validating Model: Total Samples = 250, Misclassify Count = 159
Validating Model: Total Samples = 300, Misclassify Count = 191
Validating Model: Total Samples = 350, Misclassify Count = 228
Validating Model: Total Samples = 400, Misclassify Count = 260
Validating Model: Total Samples = 450, Misclassify Count = 290
Validating Model: Total Samples = 500, Misclassify Count = 322
Validating Model: Total Samples = 550, Misclassify Count = 355
Validating Model: Total Samples = 600, Misclassify Count = 386
Validating Model: Total Samples = 650, Misclassify Count = 422
Validating Model: Total Samples = 700, Misclassify Count = 449
Validating Model: Total Samples = 750, Misclassify Count = 481
Validating Model: Total Samples = 800, Misclassify Count = 518
Validating Model: Total Samples = 850, Misclassify Count = 556
Validating Model: Total Samples = 900, Misclassify Count = 586
Validating Model: Total Samples = 950, Misclassify Count = 614
Validating Model: Total Samples = 1000, Misclassify Count = 643
Validating Model: Total Samples = 1050, Misclassify Count = 677
Model Validation Error = 0.6447619
======== running TransferLearning.TrainAndEvaluateWithFlowerData using GPU ========
Minibatch: 0 CrossEntropyLoss = 6.376731, EvaluationCriterion = 0.98
Minibatch: 1 CrossEntropyLoss = 5.912456, EvaluationCriterion = 1
Minibatch: 2 CrossEntropyLoss = 5.784322, EvaluationCriterion = 0.98
Minibatch: 3 CrossEntropyLoss = 5.978668, EvaluationCriterion = 1
Minibatch: 4 CrossEntropyLoss = 5.591482, EvaluationCriterion = 0.98
Minibatch: 5 CrossEntropyLoss = 5.338925, EvaluationCriterion = 1
Minibatch: 6 CrossEntropyLoss = 5.432095, EvaluationCriterion = 0.94
Minibatch: 7 CrossEntropyLoss = 5.182735, EvaluationCriterion = 0.96
Minibatch: 8 CrossEntropyLoss = 5.073693, EvaluationCriterion = 0.96
Minibatch: 9 CrossEntropyLoss = 5.095917, EvaluationCriterion = 0.94
Minibatch: 10 CrossEntropyLoss = 5.162372, EvaluationCriterion = 0.96
Minibatch: 11 CrossEntropyLoss = 4.770968, EvaluationCriterion = 0.92
Minibatch: 12 CrossEntropyLoss = 4.488997, EvaluationCriterion = 0.96
Minibatch: 13 CrossEntropyLoss = 4.279219, EvaluationCriterion = 0.92
Minibatch: 14 CrossEntropyLoss = 4.384006, EvaluationCriterion = 0.92
Minibatch: 15 CrossEntropyLoss = 3.860513, EvaluationCriterion = 0.76
Minibatch: 16 CrossEntropyLoss = 4.473601, EvaluationCriterion = 0.94
Minibatch: 17 CrossEntropyLoss = 3.700306, EvaluationCriterion = 0.8
Minibatch: 18 CrossEntropyLoss = 3.551464, EvaluationCriterion = 0.78
Minibatch: 19 CrossEntropyLoss = 3.234652, EvaluationCriterion = 0.74
Minibatch: 20 CrossEntropyLoss = 3.344814, EvaluationCriterion = 0.72
Minibatch: 21 CrossEntropyLoss = 2.370456, EvaluationCriterion = 0.48
Minibatch: 22 CrossEntropyLoss = 2.577497, EvaluationCriterion = 0.56
Minibatch: 23 CrossEntropyLoss = 2.089722, EvaluationCriterion = 0.46
Minibatch: 24 CrossEntropyLoss = 2.142577, EvaluationCriterion = 0.48
Minibatch: 25 CrossEntropyLoss = 1.63586, EvaluationCriterion = 0.32
Minibatch: 26 CrossEntropyLoss = 1.697923, EvaluationCriterion = 0.32
Minibatch: 27 CrossEntropyLoss = 1.921223, EvaluationCriterion = 0.42
Minibatch: 28 CrossEntropyLoss = 2.140446, EvaluationCriterion = 0.48
Minibatch: 29 CrossEntropyLoss = 1.720678, EvaluationCriterion = 0.44
Minibatch: 30 CrossEntropyLoss = 1.671676, EvaluationCriterion = 0.36
Minibatch: 31 CrossEntropyLoss = 1.361708, EvaluationCriterion = 0.24
Minibatch: 32 CrossEntropyLoss = 1.813414, EvaluationCriterion = 0.46
Minibatch: 33 CrossEntropyLoss = 1.438443, EvaluationCriterion = 0.3
Minibatch: 34 CrossEntropyLoss = 1.750613, EvaluationCriterion = 0.36
Minibatch: 35 CrossEntropyLoss = 1.265645, EvaluationCriterion = 0.22
Minibatch: 36 CrossEntropyLoss = 1.230595, EvaluationCriterion = 0.24
Minibatch: 37 CrossEntropyLoss = 1.26008, EvaluationCriterion = 0.22
Minibatch: 38 CrossEntropyLoss = 1.325004, EvaluationCriterion = 0.36
Minibatch: 39 CrossEntropyLoss = 1.254509, EvaluationCriterion = 0.28
Minibatch: 40 CrossEntropyLoss = 1.150222, EvaluationCriterion = 0.22
Minibatch: 41 CrossEntropyLoss = 0.6521825, EvaluationCriterion = 0.12
Minibatch: 42 CrossEntropyLoss = 0.7118115, EvaluationCriterion = 0.1
Minibatch: 43 CrossEntropyLoss = 0.8022906, EvaluationCriterion = 0.2
Minibatch: 44 CrossEntropyLoss = 0.5807764, EvaluationCriterion = 0.06
Minibatch: 45 CrossEntropyLoss = 0.9290817, EvaluationCriterion = 0.16
Minibatch: 46 CrossEntropyLoss = 0.783923, EvaluationCriterion = 0.18
Minibatch: 47 CrossEntropyLoss = 0.7138124, EvaluationCriterion = 0.1
Minibatch: 48 CrossEntropyLoss = 0.7241775, EvaluationCriterion = 0.12
Minibatch: 49 CrossEntropyLoss = 0.6209024, EvaluationCriterion = 0.08
Minibatch: 50 CrossEntropyLoss = 0.5343745, EvaluationCriterion = 0.04
Minibatch: 51 CrossEntropyLoss = 0.6119491, EvaluationCriterion = 0.04
Minibatch: 52 CrossEntropyLoss = 0.5948975, EvaluationCriterion = 0.04
Minibatch: 53 CrossEntropyLoss = 0.8496073, EvaluationCriterion = 0.18
Minibatch: 54 CrossEntropyLoss = 0.7088032, EvaluationCriterion = 0.12
Minibatch: 55 CrossEntropyLoss = 0.6778691, EvaluationCriterion = 0.12
Minibatch: 56 CrossEntropyLoss = 0.787717, EvaluationCriterion = 0.1
Minibatch: 57 CrossEntropyLoss = 0.7307914, EvaluationCriterion = 0.14
Minibatch: 58 CrossEntropyLoss = 0.723028, EvaluationCriterion = 0.12
Minibatch: 59 CrossEntropyLoss = 0.7245494, EvaluationCriterion = 0.08
Minibatch: 60 CrossEntropyLoss = 0.6502786, EvaluationCriterion = 0.1
Minibatch: 61 CrossEntropyLoss = 0.428662, EvaluationCriterion = 0.04
Minibatch: 62 CrossEntropyLoss = 0.5050916, EvaluationCriterion = 0.02
Minibatch: 63 CrossEntropyLoss = 0.5084181, EvaluationCriterion = 0.08
Minibatch: 64 CrossEntropyLoss = 0.4810524, EvaluationCriterion = 0.04
Minibatch: 65 CrossEntropyLoss = 0.4666488, EvaluationCriterion = 0.02
Minibatch: 66 CrossEntropyLoss = 0.4906718, EvaluationCriterion = 0.04
Minibatch: 67 CrossEntropyLoss = 0.3945753, EvaluationCriterion = 0.02
Minibatch: 68 CrossEntropyLoss = 0.4147145, EvaluationCriterion = 0
Minibatch: 69 CrossEntropyLoss = 0.3473899, EvaluationCriterion = 0
Minibatch: 70 CrossEntropyLoss = 0.5157338, EvaluationCriterion = 0.02
Minibatch: 71 CrossEntropyLoss = 0.5085081, EvaluationCriterion = 0.04
Minibatch: 72 CrossEntropyLoss = 0.51373, EvaluationCriterion = 0.06
Minibatch: 73 CrossEntropyLoss = 0.4385281, EvaluationCriterion = 0.02
Minibatch: 74 CrossEntropyLoss = 0.4603481, EvaluationCriterion = 0.02
Minibatch: 75 CrossEntropyLoss = 0.4486012, EvaluationCriterion = 0.06
Minibatch: 76 CrossEntropyLoss = 0.4591454, EvaluationCriterion = 0.04
Minibatch: 77 CrossEntropyLoss = 0.5260396, EvaluationCriterion = 0
Minibatch: 78 CrossEntropyLoss = 0.706598, EvaluationCriterion = 0.08
Minibatch: 79 CrossEntropyLoss = 0.5765358, EvaluationCriterion = 0.06
Minibatch: 80 CrossEntropyLoss = 0.5874317, EvaluationCriterion = 0.02
Minibatch: 81 CrossEntropyLoss = 0.5182903, EvaluationCriterion = 0.02
Minibatch: 82 CrossEntropyLoss = 0.3909195, EvaluationCriterion = 0
Minibatch: 83 CrossEntropyLoss = 0.2754261, EvaluationCriterion = 0
Minibatch: 84 CrossEntropyLoss = 0.4089906, EvaluationCriterion = 0.02
Minibatch: 85 CrossEntropyLoss = 0.4094018, EvaluationCriterion = 0
Minibatch: 86 CrossEntropyLoss = 0.3839784, EvaluationCriterion = 0.02
Minibatch: 87 CrossEntropyLoss = 0.3867048, EvaluationCriterion = 0.02
Minibatch: 88 CrossEntropyLoss = 0.4980297, EvaluationCriterion = 0.02
Minibatch: 89 CrossEntropyLoss = 0.5621079, EvaluationCriterion = 0.04
Minibatch: 90 CrossEntropyLoss = 0.3717917, EvaluationCriterion = 0
Minibatch: 91 CrossEntropyLoss = 0.478934, EvaluationCriterion = 0.04
Minibatch: 92 CrossEntropyLoss = 0.4525187, EvaluationCriterion = 0.02
Minibatch: 93 CrossEntropyLoss = 0.37893, EvaluationCriterion = 0
Minibatch: 94 CrossEntropyLoss = 0.5599474, EvaluationCriterion = 0.04
Minibatch: 95 CrossEntropyLoss = 0.4755749, EvaluationCriterion = 0
Minibatch: 96 CrossEntropyLoss = 0.3936868, EvaluationCriterion = 0
Minibatch: 97 CrossEntropyLoss = 0.4732434, EvaluationCriterion = 0
Minibatch: 98 CrossEntropyLoss = 0.5267368, EvaluationCriterion = 0.02
Minibatch: 99 CrossEntropyLoss = 0.4697292, EvaluationCriterion = 0
Validating Model: Total Samples = 50, Misclassify Count = 10
Validating Model: Total Samples = 100, Misclassify Count = 26
Validating Model: Total Samples = 150, Misclassify Count = 37
Validating Model: Total Samples = 200, Misclassify Count = 44
Validating Model: Total Samples = 250, Misclassify Count = 56
Validating Model: Total Samples = 300, Misclassify Count = 68
Validating Model: Total Samples = 350, Misclassify Count = 77
Validating Model: Total Samples = 400, Misclassify Count = 92
Validating Model: Total Samples = 450, Misclassify Count = 106
Validating Model: Total Samples = 500, Misclassify Count = 121
Validating Model: Total Samples = 550, Misclassify Count = 132
Validating Model: Total Samples = 600, Misclassify Count = 146
Validating Model: Total Samples = 650, Misclassify Count = 153
Validating Model: Total Samples = 700, Misclassify Count = 167
Validating Model: Total Samples = 750, Misclassify Count = 179
Validating Model: Total Samples = 800, Misclassify Count = 190
Validating Model: Total Samples = 850, Misclassify Count = 202
Validating Model: Total Samples = 900, Misclassify Count = 214
Validating Model: Total Samples = 950, Misclassify Count = 226
Validating Model: Total Samples = 1000, Misclassify Count = 235
Model Validation Error = 0.2238095
======== running TransferLearning.TrainAndEvaluateWithAnimalData using GPU ========
Minibatch: 0 CrossEntropyLoss = 1.505954, EvaluationCriterion = 0.6
Minibatch: 0 CrossEntropyLoss = 2.901686, EvaluationCriterion = 0.6
Minibatch: 1 CrossEntropyLoss = 0.1998963, EvaluationCriterion = 0.06666667
Minibatch: 1 CrossEntropyLoss = 0.08895338, EvaluationCriterion = 0
Minibatch: 2 CrossEntropyLoss = 0.42899, EvaluationCriterion = 0.1333333
Minibatch: 2 CrossEntropyLoss = 0.001352779, EvaluationCriterion = 0
Minibatch: 3 CrossEntropyLoss = 0.1655133, EvaluationCriterion = 0.1333333
Minibatch: 3 CrossEntropyLoss = 8.967717E-05, EvaluationCriterion = 0
Minibatch: 4 CrossEntropyLoss = 0.01569983, EvaluationCriterion = 0
Minibatch: 4 CrossEntropyLoss = 0.008115022, EvaluationCriterion = 0
Validating Model: Total Samples = 10, Misclassify Count = 0
0
======== running LSTMSequenceClassifier.Train using GPU ========
Minibatch: 0 CrossEntropyLoss = 1.600743, EvaluationCriterion = 0.7272727
Minibatch: 20 CrossEntropyLoss = 1.49664, EvaluationCriterion = 0.3877551
Minibatch: 40 CrossEntropyLoss = 1.386893, EvaluationCriterion = 0.4210526
Minibatch: 60 CrossEntropyLoss = 1.35299, EvaluationCriterion = 0.4444444
Minibatch: 80 CrossEntropyLoss = 1.232572, EvaluationCriterion = 0.3902439
Minibatch: 100 CrossEntropyLoss = 1.209601, EvaluationCriterion = 0.3555556
Minibatch: 120 CrossEntropyLoss = 1.222984, EvaluationCriterion = 0.4130435

 

프로그래밍 학습 사이트


1.https://www.w3schools.com/
(기본적인 웹프로그래밍 추천)
2.https://opentutorials.org/
3.https://developer.mozilla.org/ja/

다양한 컨텐츠(프로그래밍 포함)
1.https://www.inflearn.com/
2.https://www.udemy.com/
3.https://tacademy.sktechx.com/frontMain.action
4.http://tryhelloworld.co.kr/
5.http://www.w3ii.com/ko/
6.https://www.tutorialspoint.com/
7.https://www.codecademy.com/
8.https://www.coursera.org/
(기계학습 컨텐츠 추천)
9.https://www.khanacademy.org/
(수학 컨텐츠 추천)

tfs 를 통새 소스를 연동했으나 로컬 경로를 잘못 지정한 경우 처리하는 방법입니다.

팀탐색기에서 홈모양 버튼을 누르고 소스 제어 탐색기를 클릭합니다.

아래와 같은 화면이 나오고

위그림이 작네요 확대를 하면 아래 작업영역 콤보박스를 클릭해 작업 영역을 선택합니다.

아래와 같은 팝업이 뜨고 여기서 변경하고자 하는 작업영역을 선택하고 편집을 클릭합니다.

아래와 같이 나오는데 여기서 로컬 폴더 부분에서 [...] 부분을 클릭하여 작업영역을 변경한 후 확인하면 됩니다.

확인을 하게되면 작업영역을 바꾼다는 팝업이 나오는데 확인하면 작업영역 변경이 완료됩니다.

기존 작업영역의 내용은 자동으로 제거가 됩니다. (요건 편하게 잘해놨네요)

visual studio 2017 을 열고 팀탐색기에서 상단의 플러그 모양 버튼을 클릭합니다.

아래그림과 같이 연결 관리 화면이 나오고 연결관리에서 프로젝트 연결을 선택합니다.

 그럼 아래와 같은 팝업이 나옵니다.

여기서 TFS 서버 추가를 클릭하면 서버 URL 을 입력할수 있도록 textbox 가 하나 나옵니다.

 

여기에 TFS 서버 주소를 넣습니다. 보통 ip 주소 뒤에 tfs 가 붙은 주소가 입력됩니다.

추가를 누르면 아래그림과 같이 목록에 tfs 관련 소스 트리가 나타납니다.

연결을 누르면 아래처럼 tfs 에 연결된 소스가 보입니다.

sln 링크를 클릭하면 솔루션이 열리면서 프로젝트가 열립니다.

Visual Studio Community 2017

https://imagine.microsoft.com/ko-KR/Catalog/Product/530

 

 

링크 : https://blogs.unity3d.com/kr/2017/09/19/introducing-unity-machine-learning-agents/

 

요것 좀 공부해봐야겠다.


유니티 머신 학습 에이전트 소개

Arthur Juliani , 9 월 19 일, 2017

 


 이전 두 블로그 항목에는 강화 학습 알고리즘의 개발을 주도하는 게임이 있다는 것을 암시했습니다.  세계에서 가장 인기있는 제작 엔진 인 Unity는 기계 학습과 게임의 교차점에 있습니다.  가장 강력한 교육 시나리오를 갖춘 기계 학습 연구자가 최신 기계 학습 기술을 활용할 수있게함으로써 게임 커뮤니티에 다시 돌아갈 수 있도록하는 것이 우리의 사명에 중요합니다.  이 노력의 첫 걸음으로 우리는 Unity Machine Learning Agents 를 소개하게 된 것을 기쁘게 생각합니다.


 교육 지능형 에이전트

 기계 학습은 우리가 자율적 인 에이전트에서 지능적인 행동을 얻는 방법을 변화시키고 있습니다.  과거에는 행동이 직접 코딩되었지만 교육 환경에서 상호 작용을 통해 에이전트 (로봇 또는 가상 아바타)에게 점점 더 많이 가르쳐졌습니다.  이 방법은 산업용 로봇, 무인 항공기, 자율 주행 차량에서부터 게임 캐릭터 및 상대방에 이르기까지 모든 행동을 학습하는 데 사용됩니다.  이 교육 환경의 품질은 학습 할 수있는 행동의 유형에 중요하며, 종종 만들어야 할 종류 또는 종류의 절충안이 있습니다.  가상 환경에서 에이전트를 교육하는 전형적인 시나리오는 단단히 결합 된 단일 환경과 에이전트를 갖는 것입니다.  에이전트의 동작은 환경 상태를 변경하고 에이전트에게 보상을 제공합니다.

단일 분석, 기계 학습, 인공 지능

 일반적인 강화 학습 학습주기.

 Unity에서 우리는 지능형 에이전트 개발에 기계 학습을 적용하는 데 관심이있는 성장하는 그룹에 더 큰 유연성과 사용 편의성을 제공하는 시스템을 설계하고자했습니다.  또한 Unity Engine 및 Editor에서 제공하는 고품질의 물리 및 그래픽과 간단하지만 강력한 개발자 컨트롤을 활용하면서이 작업을 수행하려고했습니다.  우리는이 조합이 다른 솔루션이하지 못하는 방식으로 다음 그룹에게 이익이 될 수 있다고 생각합니다.
•  현실적인 경쟁 및 협동 시나리오에서 복잡한 다중 에이전트 행동을 연구하는 학술 연구자.
•  로봇 공학, 자율 주행 차량 및 기타 산업 응용 분야에 대한 대규모 병렬 교육 체제에 관심있는 업계 연구자.
•  지능형 에이전트로 가상 세계를 채우는 데 관심이있는 게임 개발자.

 유니티 머신 학습 에이전트

 우리는 솔루션 인 Unity Machine Learning Agents (ML-Agents)를 오늘 부르며, 오늘 우리의 SDK의 오픈 베타 버전을 공개하게되어 기쁩니다!  ML-Agents SDK는 연구원과 개발자가 Unity Editor를 사용하여 만든 게임과 시뮬레이션을 단순한 Python API를 통해 심층 강화 학습, 진화 전략 또는 기타 기계 학습 방법을 사용하여 교육 할 수있는 환경으로 변환 할 수있게합니다.  우리는이 베타 버전의 Unity ML-Agents를 오픈 소스 소프트웨어로 발표 할 예정입니다. 예제 프로젝트와 기본 알고리즘을 사용하여 시작할 수 있습니다.  이것이 초기 베타 릴리스이므로, 우리는 피드백을 적극적으로 찾고 있으며 GitHub 페이지 에 관심있는 사람들의 참여를 장려 합니다 .  ML-Agents에 대한 자세한 내용은 아래에서 계속 읽으십시오!  더 자세한 문서는 GitHub Wiki를 참조하십시오.

 학습 환경

학습 에이전트, 인공 지능, 기계 학습, 단일 분석

 ML-Agents 내에서 학습 환경을 구성하는 방법을 시각적으로 묘사 한 것입니다.

 학습 환경 내의 세 가지 주요 객체는 다음과 같습니다.
•  에이전트 - 각 에이전트는 고유 한 상태 및 관측 집합을 가지며 환경 내에서 고유 한 작업을 수행하고 환경 내의 이벤트에 대해 고유 한 보상을받을 수 있습니다.  상담원의 행동은 연결된 두뇌에 의해 결정됩니다.
•  두뇌 - 각 두뇌는 특정 상태와 행동 공간을 정의하며, 각각의 연결된 에이전트가 취할 행동을 결정할 책임이 있습니다.  현재 릴리스는 두 가지 모드 중 하나로 설정되는 Brains를 지원합니다. ◦  External - Python API를 사용하여 열린 소켓을 통한 통신을 통해 TensorFlow (또는 선택한 ML 라이브러리)를 사용하여 동작을 결정합니다.
◦  내부 (실험적) - 작업 결정은 TensorFlowSharp 를 통해 프로젝트에 포함 된 숙련 된 모델을 사용하여 수행됩니다.
◦  플레이어 - 액션 결정은 플레이어 입력을 사용하여 결정됩니다.
◦  지능형 - 행동 결정은 손으로 코딩 된 동작을 사용하여 수행됩니다.

•  아카데미 (Academy) - 한 장면 내의 아카데미 객체에는 환경 내의 모든 두뇌가 포함됩니다.  각 환경에는 다음과 같은 환경의 범위를 정의하는 단일 아카데미가 있습니다. ◦  엔진 구성 - 교육 및 추론 모드에서 게임 엔진의 속도 및 렌더링 품질.
◦  Frameskip - 새로운 결정을 내리는 각 에이전트 사이를 건너 뛰는 엔진 단계 수.
◦  전체 에피소드 길이 - 에피소드의 지속 시간입니다.  도달하면 모든 상담원이 완료로 설정됩니다.


 외부로 설정된 두뇌를 가진 모든 에이전트의 상태와 관찰은 외부 커뮤니케이터에 의해 수집되어 선택한 ML 라이브러리를 사용하여 처리하기 위해 Python API에 전달됩니다.  여러 에이전트를 단일 한 두뇌로 설정하면 일괄 처리 방식으로 작업을 결정할 수 있으므로 지원되는 경우 병렬 계산의 이점을 얻을 수 있습니다.  이러한 개체가 장면 내에서 함께 작동하는 방법에 대한 자세한 내용은 wiki 페이지를 참조하십시오 .

 유연한 교육 시나리오

 Unity ML-Agents를 사용하면 상담원, 두뇌 및 보상이 어떻게 연결되어 있는지에 따라 다양한 교육 시나리오를 사용할 수 있습니다.  우리는 지역 사회가 창조하는 참신하고 재미있는 환경의 종류를 보게되어 기쁩니다.  교육 지능형 에이전트를 처음 사용하는 사람들에게 영감을 줄 수있는 몇 가지 예가 있습니다.  각각은 ML-Agents SDK를 사용하여 어떻게 생성 할 수 있는지에 대한 설명과 함께 프로토 타입 환경 구성입니다.
•  단일 에이전트 - 단일 한 두뇌에 연결된 단일 에이전트입니다.  에이전트를 훈련시키는 전통적인 방법.  예는 치킨과 같은 싱글 플레이어 게임입니다.  (데모 프로젝트 포함 - "GridWorld")

•  동시 단일 에이전트 - 하나의 두뇌와 연결된 독립적 인 보상 기능을 갖춘 여러 독립 에이전트.  기존 교육 시나리오를 병렬화 한 버전으로, 교육 프로세스의 속도를 높이고 안정화 할 수 있습니다.  예를 들어 한 번에 12 개의 로봇 팔을 훈련시켜 문을 동시에 열 수 있습니다.  (데모 프로젝트 포함 - "3DBall")

•  Adversarial Self-Play - 하나의 두뇌에 연결된 역 보상 기능을 가진 두 개의 상호 작용하는 에이전트.  2 인칭 게임에서 적의 셀프 플레이는 에이전트가 점점 더 숙련되고 항상 완벽하게 일치하는 상대를 가질 수있게합니다.  이것은 AlphaGo를 교육 할 때 사용 된 전략이었으며 최근에는 인간이 뛰는 1v1 Dota 2 에이전트 를 교육하기 위해 OpenAI에서 사용했습니다.  (데모 프로젝트 포함 - "테니스")
•  Cooperative Multi-Agent - 하나 또는 여러 개의 다른 두뇌에 연결된 보상 기능을 갖춘 여러 개의 상호 작용하는 상담원.  이 시나리오에서는 모든 에이전트가 단독으로 수행 할 수없는 것보다 작업을 수행하기 위해 함께 작업해야합니다.  예를 들어, 각 에이전트가 부분 정보에만 액세스 할 수있는 환경이 있습니다.이 정보는 작업을 수행하거나 공동으로 퍼즐을 풀기 위해 공유해야합니다.  (곧 데모 프로젝트가 시작됩니다)
•  Competitive Multi-Agent - 하나 또는 여러 개의 다른 두뇌에 연결된 역 보상 기능을 가진 여러 상호 작용하는 에이전트.  이 시나리오에서 상담원은 경쟁에서이기거나 제한된 리소스를 확보하기 위해 서로 경쟁해야합니다.  모든 팀 스포츠는이 시나리오에 속합니다.  (곧 데모 프로젝트가 시작됩니다)
•  생태계 - 하나 또는 여러 개의 다른 두뇌에 연결된 독립적 인 보상 기능을 갖춘 여러 상호 작용하는 에이전트.  이 시나리오는 얼룩말, 코끼리, 기린이있는 사바나, 도시 환경 내에서의 자율 주행 시뮬레이션과 같이 서로 다른 목표를 가진 동물이 상호 작용하는 작은 세계를 만드는 것으로 생각할 수 있습니다.  (곧 데모 프로젝트가 시작됩니다)

 추가 기능

 ML-Agents에는 Academy / Brain / Agent 시스템이 제공하는 유연한 교육 시나리오 외에도 교육 과정의 유연성과 해석 가능성을 개선하는 다른 기능이 포함되어 있습니다.
•  모니터링 에이전트의 의사 결정 - ML-Agents에서의 통신은 양방향 거리이기 때문에 Unity 환경에서 정책 및 값 출력과 같은 훈련 된 에이전트의 측면을 표시 할 수있는 Unity의 Agent Monitor 클래스를 제공합니다.  이러한 출력을 실시간으로 제공함으로써 연구원과 개발자는 에이전트의 행동을보다 쉽게 ​​디버깅 할 수 있습니다.

유니티 머신 학습, 인공 지능, 분석, 학습 - 에이전트

 각 상담원 위는 상담원이 예상하는 미래의 보상 금액에 상응하는 금액 견적입니다.  올바른 에이전트가 공을 놓친 경우 값 예상치는 0으로 떨어집니다. 예상치가 곧 종료 될 것으로 예상되므로 추가 보상이 없습니다.
•  커리큘럼 학습 - 에이전트가 교육 과정을 시작할 때 복잡한 작업을 배우는 것은 종종 어렵습니다.  커리큘럼 학습은보다 효율적인 학습을 가능하게하는 과제의 어려움을 점차적으로 증가시키는 과정입니다.  ML-Agents는 환경이 재설정 될 때마다 사용자 정의 환경 매개 변수 설정을 지원합니다.  이를 통해 어려움이나 복잡성과 관련된 환경의 요소를 교육 진행 상황에 따라 동적으로 조정할 수 있습니다.

Unity Analytics, 기계 학습, AI, Unity

 복잡성이 증가하는 GridWorld 환경의 가능한 다양한 구성.
•  복잡한 시각 관찰 - 에이전트의 관찰이 단일 벡터 또는 이미지로 제한 될 수있는 다른 플랫폼과 달리 ML-Agent는 여러 카메라를 에이전트 당 관찰에 사용할 수 있습니다.  이를 통해 상담원은 여러 시각적 스트림의 정보를 통합하는 방법을 배울 수 있습니다. 서로 다른 시점의 여러 카메라가 필요한자가 운전 차량을 교육하거나 항공 및 일인칭 비주얼을 통합해야하는 탐색 에이전트 또는 에이전트는 원시 시각 입력뿐만 아니라 깊이 맵 또는 객체 세그먼트 화 된 이미지를 모두 사용합니다.

 

 동일한 환경에서 두 개의 다른 카메라 뷰.  둘 모두 에이전트에 제공되면 상대방을 물리 치기 위해 작업에 대한 일인칭 정보와 맵형 정보를 모두 활용하는 법을 배울 수 있습니다.
•  모방 학습 (출시 예정) - 시행 착오를 통한 방법을 통해 배우려고 시도하기보다는 에이전트가 수행하기를 원하는 행동을 단순히 설명하는 것이 더 직관적입니다.  다음 릴리스에서 ML-Agent는 모방 학습과 같은 감독 학습 시나리오에서 사용하기 위해 모든 주 / 행동 / 보상 정보를 기록 할 수있는 기능을 제공합니다.  모방 학습을 활용하여 플레이어는 에이전트가 환경에서 어떻게 행동해야하는지에 대한 시연을 제공 한 다음 이러한 데모를 활용하여 독립 실행 형으로 또는 강화 학습 프로세스의 첫 단계로 에이전트를 교육 할 수 있습니다.

 진화하는 플랫폼

 위에서 언급했듯이, 오늘 GitHub 페이지 에서 다운로드 할 수있는 Unity Machine Learning Agents의 공개 베타 버전을 공개하게 된 것을 기쁘게 생각 합니다 .  이번 릴리즈는 시작일 뿐이므로 신속하게 반복하고 Machine Learning 연구를위한 플랫폼으로서 Unity에 관심이있는 분들과 게임에서 Machine Learning의 잠재력에 중점을 둔 분들을 위해 추가 기능을 제공 할 계획입니다. 개발.  이 베타 릴리스는 이전 그룹에 더 초점을 맞추었지만, 우리는 후자의 유스 케이스에 대한 지원을 점점 제공 할 것입니다.  위에서 언급했듯이 우리는 특히 Unity ML-Agents의 향후 릴리스에 포함 된 사용 사례 및 기능에 대해 듣고 싶습니다. GitHub 저장소에 대한 요청 풀링을 환영합니다.  의견 및 생각을 공유 하시려면 ml-agents@unity3d.com 으로 언제든지 문의하십시오.  프로젝트가 관심을 불러 일으킨 다면 Unity Machine Learning 팀에 가입 하십시오 !

+ Recent posts