The only modification you really need is in the linear layer which you have already done. So that should be fine. Maybe it’s an issue with your dataset?
I have implemented the ResNet-34 (50, 101, and 151) with some slight modifications from there and it works fine for binary classification. So, I don’t think it’s an issue with the architecture. I have an example here (for binary classification on gender labels, getting ~97% acc):

  
      github.com
  
  
    rasbt/deep-learning-book/blob/master/code/model_zoo/pytorch_ipynb/convnet-resnet34-celeba-dataparallel.ipynb 106
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "UEBilEjLj5wY"
   },
   "source": [
    "*Accompanying code examples of the book \"Introduction to Artificial Neural Networks and Deep Learning: A Practical Guide with Applications in Python\" by [Sebastian Raschka](https://sebastianraschka.com). All code examples are released under the [MIT license](https://github.com/rasbt/deep-learning-book/blob/master/LICENSE). If you find this content useful, please consider supporting the work by buying a [copy of the book](https://leanpub.com/ann-and-deeplearning).*\n",
    "  \n",
    "Other code examples and content are available on [GitHub](https://github.com/rasbt/deep-learning-book). The PDF and ebook versions of the book are available through [Leanpub](https://leanpub.com/ann-and-deeplearning)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "colab": {
     "autoexec": {


  This file has been truncated. show original

  
  
    
    
  
  


I suggest maybe trying your implementation on a different dataset where you know you should be getting good results to see if there’s maybe an implementation bug.