code: def test_checkpoint_non_float_input():
      class ForkNonFloat(nn.Module):
          def forward(self, input):
              return (input * 2, torch.tensor([False]))
  
      class JoinNonFloat(nn.Module):
          def forward(self, input):
              return input[0] * 2
  
      model = nn.Sequential(ForkNonFloat(), JoinNonFloat())
      model = Pipe(
          model,
          balance=[1, 1],
          devices=["cpu", "cpu"],
          chunks=1,
          checkpoint="always",
      )
  
      input = torch.rand(1, requires_grad=True)
      output = model(input)
      output.backward()
  
imports: from collections import OrderedDict
  from copy import deepcopy
  import time
  import pytest
  import torch
  from torch import nn
  from fairscale.nn.pipe import Pipe
label_desc: Use image node_id 14 for calling a global function with example usage: test_checkpoint_non_float_input() and returns: unknown,  torch, unknown