RPC

공개 최종 클래스 Rpc

RPC 요청 일괄 처리를 수행합니다.

이 작업은 단일 RPC 요청 또는 요청 일괄 처리를 비동기식으로 수행합니다. RPC 요청은 세 가지 주요 매개변수로 정의됩니다.

- `address`(요청의 호스트+포트 또는 BNS 주소) - `method`(요청에 대한 RPC 메서드 이름) - `request`(RPC 요청 인수의 직렬화된 프로토 문자열 또는 문자열 벡터) .

예를 들어, localhost:2345 포트에서 실행되는 RPC 서비스가 있고 해당 인터페이스가 다음 proto 선언으로 구성된 경우:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
그런 다음 인수를 사용하여 이 작업을 호출합니다:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
`request` 텐서는 다음을 나타내는 문자열 텐서입니다. 직렬화된 `MyRequestProto` 문자열; 출력 문자열 텐서 `response`는 동일한 모양을 가지며 (성공적으로 완료되면) 해당 직렬화된 `MyResponseProto` 문자열을 포함합니다.

예를 들어 비어 있는 단일 `MyRequestProto`를 보내려면 `request = ""`를 사용하여 이 작업을 호출하세요. 5개의 병렬 빈 요청을 보내려면 `request = ["", "", "", "", ""]`를 사용하여 이 작업을 호출합니다.

더 일반적으로는 `encode_proto` 작업을 사용하여 일반 배치 텐서에서 `MyRequestProto` 직렬화된 proto 배치를 생성하고 `decode_proto` 작업을 사용하여 응답 `MyResponseProto` 직렬화된 proto를 배치 텐서로 변환할 수 있습니다.

참고 직렬화된 proto 문자열로 작업하는 것은 메모리에서 실제 proto 개체를 인스턴스화하는 것보다 빠르므로 이 워크플로에 대한 사용자 정의 커널을 작성하는 것과 비교해 성능 저하가 예상되지 않습니다.

연결이 실패하거나 원격 작업자가 오류 상태를 반환하는 경우 작업은 이 예외를 로컬에서 다시 발생시킵니다.

그래프에서 RPC 실패를 수동으로 처리하려면 'TryRpc' 작업을 참조하세요.

중첩 클래스

수업 Rpc.옵션 Rpc 의 선택적 속성

공개 방법

출력 <문자열>
출력 ()
텐서의 기호 핸들을 반환합니다.
정적 RPC
생성 ( 범위 범위, 피연산자 <String> 주소, 피연산자 <문자열> 메서드, 피연산자 <문자열> 요청, 옵션... 옵션)
새로운 Rpc 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
정적 Rpc.옵션
실패Fast (부울 실패Fast)
정적 Rpc.옵션
프로토콜 (문자열 프로토콜)
출력 <문자열>
응답 ()
`요청`과 같은 모양입니다.
정적 Rpc.옵션
timeoutInMs (긴 timeoutInMs)

상속된 메서드

공개 방법

공개 출력 <String> asOutput ()

텐서의 기호 핸들을 반환합니다.

TensorFlow 작업에 대한 입력은 다른 TensorFlow 작업의 출력입니다. 이 메서드는 입력 계산을 나타내는 기호 핸들을 얻는 데 사용됩니다.

public static Rpc create ( 범위 범위, Operand <String> 주소, Operand <String> 메서드, Operand <String> 요청, Options... 옵션)

새로운 Rpc 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.

매개변수
범위 현재 범위
주소 '0-D' 또는 '1-D'. RPC 서버의 주소(예: 호스트 이름:포트)입니다. 이 텐서에 요소가 2개 이상 있으면 여러 개의 병렬 rpc 요청이 전송됩니다. 이 인수는 'method' 및 'request'로 브로드캐스트됩니다.
방법 '0-D' 또는 '1-D'. RPC 서버의 메서드 주소입니다. 이 텐서에 요소가 2개 이상 있으면 여러 개의 병렬 rpc 요청이 전송됩니다. 이 인수는 '주소' 및 '요청'으로 브로드캐스트됩니다.
요구 '0-D' 또는 '1-D'. 직렬화된 proto 문자열: rpc 요청 인수. 이 텐서에 요소가 2개 이상 있으면 여러 개의 병렬 rpc 요청이 전송됩니다. 이 인수는 `address`와 `method`를 사용하여 브로드캐스트됩니다.
옵션 선택적 속성 값을 전달합니다.
보고
  • Rpc의 새 인스턴스

공개 정적 Rpc.Options 실패Fast (부울 실패Fast)

매개변수
실패빠름 '부울'. 'true'(기본값)인 경우 연결 실패(즉, 서버가 즉시 응답하지 않음)로 인해 RPC 오류가 발생합니다.

공개 정적 Rpc.Options 프로토콜 (문자열 프로토콜)

매개변수
규약 사용할 RPC 프로토콜입니다. 빈 문자열은 기본 프로토콜을 사용한다는 의미입니다. 옵션에는 'grpc'가 포함됩니다.

공개 출력 <String> 응답 ()

`요청`과 같은 모양입니다. 직렬화된 proto 문자열: rpc 응답.

공개 정적 Rpc.Options timeoutInMs (긴 timeoutInMs)

매개변수
시간 초과(Ms) 'int'. '0'(기본값)이면 커널은 RPC 요청을 실행하고 RPC 기한이 지났거나 세션 시간이 초과된 경우에만 시간 초과됩니다. 이 값이 '0'보다 크면 RPC가 'timeout_in_ms'보다 오래 걸리면 작업에서 예외가 발생합니다.