\(logeq[d_] := 
      Module[{bounds, monomials, params, partition, derivs, sums, 
          eqs}, 
xs = \(x\_# &\) /@ 
            Table[i, {i, 1, d}]; 
monomials = 
          Subsets[xs]; 
 (*Multiply\ out\ monomials, \ 
          replace\ null\ set\ with\ 1*) 
monomials = \(Prepend[#, 1] &\) /@ 
            monomials; 
monomials = \(Apply[Times, #] &\) /@ 
            monomials; 
 (*Give\ a\ parameter\ to\ each\ monomial*) 
params = \(th\_# &\) /@ 
            Table[i, {i, 0, 
                2\^d - 1}]; 
monomials = \(Apply[
                Times, #] &\) /@ 
            Thread[{params, 
                monomials}]; 
 (*Form\ partition\ function, \ differentiate*) 
partition = 
          Log[1 + Exp[Plus @@ monomials]]; 
derivs = \(D[
                partition, th\_#] &\) /@ 
            Table[i, {i, 0, 
                2\^d - 1}]; 
 (*Sum\ derivatives\ over\ all\ x\ values\ to\ get\ equations*) 
bounds = \({#, 0, 
                1} &\) /@ 
            xs; 
sums = \(Table[#, 
                Evaluate[Sequence @@ bounds]] &\) /@ 
            derivs; 
sums = \(Apply[
                Plus, #] &\) /@ \((\(Flatten[#] &\) /@ 
                sums)\); 
eqs = 
          Thread[Equal[sums, 
              Table[m\_i, {i, 0, 2\^d - 1}]]]
]\)

logeq[2]

Thread[Equals[{1, 2, 3}, {3, 4, 5}]]