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 | |
정적 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'가 포함됩니다. |
---|
공개 정적 Rpc.Options timeoutInMs (긴 timeoutInMs)
매개변수
시간 초과(Ms) | 'int'. '0'(기본값)이면 커널은 RPC 요청을 실행하고 RPC 기한이 지났거나 세션 시간이 초과된 경우에만 시간 초과됩니다. 이 값이 '0'보다 크면 RPC가 'timeout_in_ms'보다 오래 걸리면 작업에서 예외가 발생합니다. |
---|