"New Neural"은 MetaTrader 5 플랫폼용 신경망 엔진의 오픈 소스 프로젝트입니다. - 페이지 73

 
유샤 :

전처리기는 이를 위한 것입니다.

최소 2개의 뉴런, 최소 100개의 파일 형식이 동일합니다.

글쎄, 그리고 누구에게 그래픽으로, 그래서 아무도 방해하지 않습니다 - 우리는 GUI를 작성하고 사용합니다

글쎄, 어깨를 자르지 말고 선반에 모든 것을 올려 봅시다. 남들과 똑같다는 사실은 아니지만, 저에게는 위에서 포스팅한 다운로드 방식이 다운로드 알고리즘 면에서 뻔합니다.

라인 읽기, 3개의 레이어 객체 초기화,

첫 번째 줄을 읽은 다음 첫 번째 레이어 객체를 호출하고 입력 레이어 유형을 구성하고 뉴런 배열을 2만큼 초기화합니다 .

두 번째 줄을 읽은 다음 두 번째 레이어 객체를 호출하고 mlp 레이어 유형을 구성하고 뉴런 배열을 2만큼 초기화합니다.

세 번째 줄을 읽고 두 번째 레이어 객체를 호출하고 mlp 레이어 유형을 구성하고 뉴런 배열을 1만큼 초기화합니다.

레이어 수가 3이므로 세 번째 줄에서 구성을 마친 다음 연결을 할당합니다.

테이블을 살펴보고 필요한 뉴런을 호출하는 이유는 테이블이 1인 경우 연결을 알려주는 것입니다.

그리고 알고리즘은 xml에서 어떻게 작동할까요?

위협과 주요 장점은 연결 테이블이 바이너리이기 때문에 완벽하게 맞습니다. 8개의 뉴런에 대한 테이블이 하나의 ulong에 맞습니다. 사실, 일반적으로 파르티잔이 두꺼울수록 더 많은 수의 뉴런이 있는 크기는 다음과 같이 계산됩니다.

X=N*N/8

여기서 N은 뉴런의 수이고,

X는 바이트 수입니다.

 

단점

  • XML 구문이 중복됩니다. [여덟]
  • XML 문서의 크기는 동일한 데이터의 이진 표현보다 훨씬 큽니다. 대략적인 추정에서 이 요소의 값은 1차(10배)로 간주됩니다.
  • XML 문서의 크기는 대체 텍스트 데이터 전송 형식(예: JSON [4] , YAML , Protocol Buffers ), 특히 특정 사용 사례에 최적화된 데이터 형식의 문서보다 훨씬 큽니다.
  • XML 중복성은 응용 프로그램의 성능에 영향을 줄 수 있습니다. 데이터를 저장, 처리 및 전송하는 비용이 증가하고 있습니다.
  • XML에는 메타데이터(필드, 클래스, 구조의 중첩에 대한)가 포함되어 있으며 동시에 XML은 개방형 시스템의 상호 작용을 위한 언어로 자리 잡고 있습니다. 시스템 간에 동일한 유형(하나의 구조)의 많은 개체를 전송할 때 XML 설명의 각 인스턴스에 포함되어 있지만 메타데이터를 반복적으로 전송하는 것은 의미가 없습니다.
  • 많은 작업의 경우 XML 구문의 모든 기능이 필요하지 않으며 훨씬 간단하고 성능이 뛰어난 솔루션을 사용할 수 있습니다.

표절 죄송합니다.
 

구성, 네트워크, 설정 등을 저장하기 위한 표준으로 XML을 제안합니다.

그리고 초기화/저장 단계에서만 필요

일하는 과정, 그리고 더 나아가 배우는 과정에서 어떤 XML도 의심의 여지가 없습니다.

her.human :
표절 죄송합니다.

예, 하지만 어떤 이유로 Oracle, Microsoft와 같은 괴물은 ... 이를 악물고 "바이너리"(일반적으로 상업적인) 표준을 멀리하고 공개 표준에 직면하게 됩니다.

10MB의 XML을 빼는 것은 최신 컴퓨터에서 문제가 되지 않습니다.

100MB .docx MS Word 문서가 두렵습니까?

문제가 XML 파일에서 네트워크를 로드하는 것이라면 그러한 장비에서 네트워크를 훈련시키는 것은 비현실적일 것입니다. 이는 복잡성 면에서 비교할 수 없는 작업입니다.

 
유샤 :

구성, 네트워크, 설정 등을 저장하기 위한 표준으로 XML을 제안합니다.

그리고 초기화/저장 단계에서만 필요

일하는 과정, 그리고 더 나아가 배우는 과정에서 어떤 XML도 의심의 여지가 없습니다.

보세요, xml의 파일 크기는 916바이트이고 바이너리 표현으로는 헤더를 누르지 않아도 64바이트입니다.

7 헤더 변수 + 테이블당 1 = 8 ulong * 8 바이트 = 64

 
우크라이나 :

보세요, xml의 파일 크기는 916바이트이고 바이너리 표현으로는 헤더를 누르지 않아도 64바이트입니다.

7 헤더 변수 + 테이블당 1 = 8 ulong * 8 바이트 = 64


이 포럼 페이지를 열려면 인터넷을 통해 최소 100킬로바이트를 다운로드합니다.

코에 2012이고 오랫동안 바이트 와 같은 측정 단위를 사용하지 않았습니다))

추신

나는 방금 내 선택을 제안했습니다 - 결정은 대중의 몫입니다

 
유샤 :

구성, 네트워크, 설정 등을 저장하기 위한 표준으로 XML을 제안합니다.

그리고 초기화/저장 단계에서만 필요

일하는 과정, 그리고 더 나아가 배우는 과정에서 어떤 XML도 의심의 여지가 없습니다.

네트워크 구조를 최적화하려면 뉴런과 연결의 수를 변경해야 합니다.

할 수 있습니까?

어렵지 않다면 여러분의 코드에 댓글을 달아보세요. 댓글 없이 다른 사람의 코드를 이해하는 데 시간이 오래 걸린다는 것을 스스로 아실 것입니다. 고맙습니다.

 
her.human :

네트워크 구조를 최적화하려면 뉴런과 연결의 수를 변경해야 합니다.

할 수 있습니까?

어렵지 않다면 여러분의 코드에 댓글을 달아보세요. 댓글 없이 다른 사람의 코드를 이해하는 데 시간이 오래 걸린다는 것을 스스로 아실 것입니다. 고맙습니다.

이것은 교육의 문제입니다. 잠재적으로 - 그러한 기회가 있습니다. 실제로는 사용하지 않았습니다.

일반적으로 학습 과정에서 네트워크 구조는 변경되지 않고 적응 매개변수만 변경됩니다.

문제 설명은 이미 메타 수준입니다. 결과 네트워크가 다른 네트워크보다 더 성공적으로 학습할 수 있도록 네트워크 구조를 변경하도록 설계자를 교육합니다.

나는 "있는 그대로"코드를 게시했습니다-나는 스스로 그것을했고 평소와 같이 서둘러서 너무 죄송합니다.

좋은 방법으로, 전체 프로젝트 가 완료된 후 모든 것을 다시 조금씩 다시 정렬해야 합니다.

 
유샤 :

이 포럼 페이지를 열려면 인터넷을 통해 최소 100킬로바이트를 다운로드합니다.

코에 2012이고 오랫동안 바이트 와 같은 측정 단위를 사용하지 않았습니다))

추신

나는 방금 내 선택을 제안했습니다 - 결정은 대중의 몫입니다

실험을 설정하고 뉴런당 100개의 연결이 있는 1000개의 뉴런에 대한 xml 메쉬 로더를 만들고 파일 크기를 게시합니다 . 구조는 원하는 대로입니다.

내 버전의 1000*1000/8=~125Kb가 차지하는 공간을 무릎으로 계산할 수 있지만 귀하의 버전은 비교할 수 없으므로 비교를 위해 ...

귀하의 옵션에 허용 가능한 크기가 있다면 그 이유는 무엇입니까?

 
우크라이나 :

그것은 요점이 아닙니다. 메모리는 메모리이지만 GPU에서는 개체 논리의 트릭을 구현하기 어려울 것입니다. GPU 계산 기능이 있는 개체의 복잡한 상호 작용으로 NN을 구현하는 방법을 꽤 잘 상상합니다. 마이크로 레벨에 관한 것입니다), 하지만 이 복잡한 오브젝트 코드가 다른 가중치 세트(매크로 레벨)를 갖는 여러 FF로 GPU의 전체 NS를 미끄러지게 하는 것이 얼마나 복잡한지 상상할 수 없습니다.

질문은 수사학적이지만 누군가가 기꺼이 들어준다.

이것이 바로 일반적인 OpenCL이 아닌 CUDA를 선택하게 된 이유입니다.

CUDA 코드는 객체 지향적이며 CPU에 형성된 객체를 비트 단위로 전송할 수 있습니다.

뉘앙스가 있지만 모두 해결됩니다.

 
유샤 :

이것이 바로 일반적인 OpenCL이 아닌 CUDA를 선택하게 된 이유입니다.

CUDA 코드는 객체 지향적이며 CPU에 형성된 객체를 비트 단위로 전송할 수 있습니다.

뉘앙스가 있지만 모두 해결됩니다.

나는 이것의 전문가가 아닙니다. 나는 당신을 믿습니다. 그것은 좋을 것입니다.